2014-01-26 80 views
0

我在mongodb中嵌套查詢有點麻煩。做mongodb嵌套查詢的錯誤

我有以下結構的集合 -

{ 
    "_id" : Objectid(..), 
    "result" : { 
     "name" : nameValue, 
     "reference" : base64Value, 
     "city" : cityValue 
    } 
} 

現在我做的蒙戈外殼兩個查詢 -

  • 搜索特定的參考值(所以查詢平等)

我使用下面的查詢 -

db.TestCollection.find("result.reference" : a3d245e343 } 

,但我什麼也沒得到,當我知道的記錄是有收藏

  • 搜索和打印所有城市值英寸

我期待打印出類似這樣this--

{ "city": "new york city" } 
{ "city" : "brooklyn" } 
... etc 

爲此,我用這個查詢 -

db.TestCollection.find({}, {"results.city", 1}) 

爲此,我沒有得到我所期待的輸出但只能得到像這樣的所有「_id」值的列表 -

{ "_id" : ObjectId("52e466bd562bdb7b1b320d1d") } 
{ "_id" : ObjectId("52e466be562bdb7b1b320d1e") } 
{ "_id" : ObjectId("52e466be562bdb7b1b320d1f") } 
{ "_id" : ObjectId("52e466bf562bdb7b1b320d20") } 
{ "_id" : ObjectId("52e466bf562bdb7b1b320d21") } 
{ "_id" : ObjectId("52e466bf562bdb7b1b320d22") } 
{ "_id" : ObjectId("52e466c0562bdb7b1b320d23") } 
{ "_id" : ObjectId("52e466c0562bdb7b1b320d24") } 
{ "_id" : ObjectId("52e466c1562bdb7b1b320d25") } 
{ "_id" : ObjectId("52e466c1562bdb7b1b320d26") } 
{ "_id" : ObjectId("52e466c2562bdb7b1b320d27") } 
{ "_id" : ObjectId("52e466c2562bdb7b1b320d28") } 
{ "_id" : ObjectId("52e466c2562bdb7b1b320d29") } 
{ "_id" : ObjectId("52e466c3562bdb7b1b320d2a") } 
{ "_id" : ObjectId("52e466c3562bdb7b1b320d2b") } 
{ "_id" : ObjectId("52e466c4562bdb7b1b320d2c") } 
{ "_id" : ObjectId("52e466c4562bdb7b1b320d2d") } 
{ "_id" : ObjectId("52e466c4562bdb7b1b320d2e") } 
{ "_id" : ObjectId("52e466c5562bdb7b1b320d2f") } 
{ "_id" : ObjectId("52e466c5562bdb7b1b320d30") } 
has more 

Wh我在做錯嗎?

我知道有很多關於查詢的問題,但我仍然圍繞着整個想法。感謝您幫助新手出去。

回答

0

我發現這個問題與兩個命令 -

  1. 出於某種原因,條件應該用單引號將給出這樣的 -

    db.TestCollection.find(「result.reference」 :a3d245e343}

    我想我可以在那裏使用雙引號,但看起來像我錯了

  2. 我使用的是逗號,而不是合作的。在投影機中。正確的答案是 -

    db.TestCollection.find({},{ 「results.city」:1})