【问题标题】:Finding MongoDB Document by ID通过 ID 查找 MongoDB 文档
【发布时间】:2025-11-29 20:40:01
【问题描述】:

我将 Node.js 和 MongoDB 与托管在 MongoHQ(现在 compose.io)上的数据库一起使用。我大致了解文档 ID 已转换为十六进制字符串,但我不知道如何使用其 ID 检索文档。

我的文档的 ID 为 _id: ObjectId("53f13064b5a39cc69f00011b"),这就是它在 Compose 界面中的显示方式。当我通过蛮力检索文档时,ID显示为_id: 53f13064b5a39cc69f00011b

我在 Node.js 中使用什么来检索此文档?查询:

systemData.find({_id: "53f13064b5a39cc69f00011b"}).toArray(function(err, data) {//do stuff}

返回一个空集,但使用对象 ID 对象查询也是如此

systemData.find({_id: new ObjectID("53f13064b5a39cc69f00011b")}).toArray(function(err, data) {//do stuff}

我错过了什么?

【问题讨论】:

  • 暴力破解是指获取集合中的所有文档并找到我感兴趣的文档并在控制台中查看。
  • 您正在使用 new ObjectID 进行查询,因此出现了问题

标签: javascript node.js mongodb mongohq database


【解决方案1】:

你应该可以使用:

systemData.find({_id: ObjectID("53f13064b5a39cc69f00011b")})

开头不需要“新”。

【讨论】:

  • 非常感谢!基本上是我没有尝试过的唯一排列。