我在MongoDB中有以下文档......
{
"_id" : ObjectId("531221cd960100960116b992"),
"username : "joe",
"address" : [
{
"zip" : "8000",
"city" : "Zurich"
},
{
"zip" : "6900",
"city" : "Lugano"
}
]
}
...并且要检索第二个地址,我使用以下语句:
db.users.find({ _id: ObjectId("531221cd960100960116b992") }, { addresses: { $slice: [0, 1] } } )
除了它还返回对象id:
之外{ "addresses" : [ { "zip" : "6900", "city" : "Lugano" } ], "_id" : ObjectId("531221cd960100960116b992") }
如何阻止MongoDB返回对象ID?我知道我应该提供像_id : 0
这样的投影......但是我应该把它放在上面的表达式中?我做了很多尝试......但没有成功。
感谢。
答案 0 :(得分:9)
通
{'_id': false}
作为find()
db.users.find({ _id: ObjectId("531221cd960100960116b992")}, { addresses: { $slice: [0, 1] } ,'_id': false} )
答案 1 :(得分:8)
这与@ hanleyhansen的答案完全相同,但只是为了让你知道你可以与false交替使用0,如:
db.users.find({ _id: ObjectId("531221cd960100960116b992")}, { addresses: { $slice: [0, 1] } ,'_id': 0} )
答案 2 :(得分:0)
使用此代码
db.yourCollectionName.find({},{_id:0})