2013-05-04 23 views
1

在MongoDB中,我的理解是項目只有指定的字段集合中,我將執行:投影MongoDB中的數組中指定的字段(?缺少]錯誤)

db.collection.find({}, {"field1": 1, "field2": 1}) 

但我會怎麼做,如果我只想在集合中的數組內指定特定的字段?我能想到的唯一的辦法是這樣的:

db.collection.find({field1: [arrayfield1: 1, arrayfield2: 1, arrayfield3: 1]}) 

但我得到「語法錯誤:缺少]之後元素列表(殼):1」。 我也試過這個:

db.collection.find({field1: [arrayfield1: 1], [arrayfield2: 1], [arrayfield3: 1]}) 

並得到相同的錯誤。誰能告訴我我做錯了什麼?因爲我無法弄清楚。或者如果我在完全錯誤的軌道上?我知道錯誤說「元素列表」,我相信它應該是一個字段列表或某種程度上,所以我懷疑這不是正確的方式去了解我在嘗試)

回答

2

我想通了。答案是點符號。這奏效了:

db.colletion.find({}, { "array.arrayfield1" : 1, "array.arrayfield2" : 1, "array.arrayfield3" : 1 }) 
+0

你,做的工作db.fred.find({},{ 「郵政編碼」:1, 「students.name」:1, 「students.age」:1})權 – Drew 2013-05-04 21:08:03

相關問題