mongodb - 如何防止MongoDB在查找文档时返回对象ID?

标签 mongodb mongodb-query

我在 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... 这样的投影,但我应该把它放在上面的表达式中的什么地方?我做了很多尝试......但没有成功。

谢谢。

最佳答案

{'_id': False} 作为参数传递给 find()

db.users.find({ _id: ObjectId("531221cd960100960116b992")}, { addresses: { $slice: [0, 1] } ,'_id': False} )

关于mongodb - 如何防止MongoDB在查找文档时返回对象ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22121145/

相关文章:

json - Mongoose - 无法检索快速 route 的虚拟字段

mongodb - 如何找到封装特定点的边界框?

node.js - addToSet 相当于包含子文档的数组

java - Spring JPA 使用 LocalDateTime 获取 mongo 中某个范围(含)之间的日期

python - 如何使用Python提取Mongo中的集合?

python - pymongo: 名称 'ISODate' 未定义

java - MongoDb 聚合

node.js - node.js - 错误:第一次连接时无法连接到服务器[localhost:27017] [MongoNetworkError:connect ECONNREFUSED 127.0.0.1:27017]

node.js - MongoDB $text 搜索是如何工作的?

javascript - 按数组大小对结果排序