1
如果我有一個包含這樣的MongoDB的:mongodb的find()返回的對象是否缺少指定投影中的字段?
{ _id:ObjectId(0), name:"foo", hits:5 }
它會通過這個查詢得到返回:
find({name:"foo"}, {hits:1, flow:1})
如果是這樣,將返回的對象是什麼樣子?
如果我有一個包含這樣的MongoDB的:mongodb的find()返回的對象是否缺少指定投影中的字段?
{ _id:ObjectId(0), name:"foo", hits:5 }
它會通過這個查詢得到返回:
find({name:"foo"}, {hits:1, flow:1})
如果是這樣,將返回的對象是什麼樣子?
是的,它會,它會看起來像這樣:
{ "_id": ObjectId("000000000000000000000000"), "hits": 5 }
name
被省略,因爲它不包括投影,但_id
默認情況下包括在內。
只是@JohnnyHK答案的提示。如果你想禁止_id出現在結果中,你可以通過在投影中將_id設置爲0來實現。好吧,我刪除了我的答案:) –
好的,現在我明白了。事實上,如果投影是{thing:1,_id:0},它將返回一個空對象:{}。對於與查詢匹配的每個對象,將返回SOMETHING,但可能沒有設置任何屬性。 [docs](http://docs.mongodb.org/manual/core/read-operations/#result-projections)在我看來建議只返回包含投影中指定屬性的對象。 – drevicko