2012-12-17 117 views
1

我想下面所提到到找到包含對象的集合城市的不同值:MongoDB的複雜對象查詢

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

你能不能幫我查詢我需要火?我知道我必須使用elemMatch$exists。但我的下面的查詢似乎工作,並返回一個空集:

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

回答

3

db.collection.distinct將查詢作爲第二個參數。

這裏是你應該怎麼做: -

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

此外,您還可以使用此distinct數據庫命令: -

db.runCommand({ "distinct": "collectionName", 
       "key": "location.city", 
       "query": {'location.city' : {$exists: true}} 
       }).values 
+0

謝謝。它也檢查一個值。 Mongodb真的很棒:) –

1

db.collectionName.distinct('location.city')應該做的伎倆。

+0

謝謝你這麼多。 :) –