1

以下に示すように、オブジェクトを含むコレクションから都市の個別の値を見つけたいです。

{
location:{
              address:'XYZ',
              city:'New York'
         }
}

起動する必要があるクエリについて教えてもらえますか? elemMatchとを使用する必要があることはわかっています$exists。しかし、私の次のクエリは機能しているようで、空のセットを返します:

db.collectionName.distinct({'location':{'city':{$exists: true}}})
4

2 に答える 2

3

db.collection.distinctクエリを 2 番目のパラメーターとして受け取ります。

これを行う方法は次のとおりです。 -

db.collectionName.distinct('location.city', {'location.city': {$exists: true}})

distinctさらに、次のデータベース コマンドも使用できます。

db.runCommand({  "distinct": "collectionName", 
                 "key": "location.city", 
                 "query": {'location.city' : {$exists: true}}
              }).values
于 2012-12-17T06:29:40.063 に答える
1

db.collectionName.distinct('location.city')トリックを行う必要があります。

于 2012-12-17T06:28:23.517 に答える