web-dev-qa-db-ja.com

Mongodb find()クエリ:一意の値のみを返します(重複はありません)

私はドキュメントのコレクションを持っています:

{
    "networkID": "myNetwork1",
    "pointID": "point001",
    "param": "param1"
}
{
    "networkID": "myNetwork2",
    "pointID": "point002",
    "param": "param2"
}
{
    "networkID": "myNetwork1",
    "pointID": "point003",
    "param": "param3"
}
...

pointIDは一意ですが、networkIDは一意ではありません。

結果が次のようになるようにMongodbを照会することは可能ですか?[myNetwork1、myNetwork2]

現在、[myNetwork1、myNetwork2、myNetwork1]のみを返すことができました

オートコンプリートselect2コンポーネントにデータを入力するには、一意のnetworkIDのリストが必要です。最大50Kのドキュメントがある場合があるため、クエリレベルで結果をフィルタリングするにはmongoDbを使用します。

43
Franckl

db.collection.distinct(fields,query)を使用できると思います

NetworkIDの場合、個別の値を取得できます。

これは次のようになります:

Db.collection.distinct('NetworkID')
100
Laura Uzcategui