1. ホーム
  2. mongodb

[解決済み] Mongodb find() クエリ : ユニークな値だけを返す (重複はしない) [duplicate].

2022-01-28 10:13:21

質問

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

{
    "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を希望しています。

解決方法は?

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

NetworkIDについては、あなたの場合、明確な値を取得することができます。

このようなものになるはずです。

db.collection.distinct('NetworkID')