mongodb - 如何在 mongo 控制台中通过 ObjectId 搜索对象?

我发现这个问题是针对 C# 和 Perl 回答的,但不是在 native 界面中。我认为这会起作用:

db.theColl.find( { _id: ObjectId("4ecbe7f9e8c1c9092c000027") } )

查询未返回任何结果。我通过执行 db.theColl.find() 并获取 ObjectId 找到了 4ecbe7f9e8c1c9092c000027。该集合中有数千个对象。

我已经阅读了 mongodb.org 网站上可以找到的所有页面,但没有找到。这只是一件奇怪的事情吗?这对我来说似乎很正常。

最佳答案

一点也不奇怪,人们总是这样做。确保集合名称正确(区分大小写)并且 ObjectId 准确无误。

文档是 here

> db.test.insert({x: 1})

> db.test.find()                                               // no criteria
{ "_id" : ObjectId("4ecc05e55dd98a436ddcc47c"), "x" : 1 }      

> db.test.find({"_id" : ObjectId("4ecc05e55dd98a436ddcc47c")}) // explicit
{ "_id" : ObjectId("4ecc05e55dd98a436ddcc47c"), "x" : 1 }

> db.test.find(ObjectId("4ecc05e55dd98a436ddcc47c"))           // shortcut
{ "_id" : ObjectId("4ecc05e55dd98a436ddcc47c"), "x" : 1 }

https://stackoverflow.com/questions/8233014/

相关文章:

mongodb - Redis 比 mongoDB 快多少?

mongodb - 如何在 MongoDB 中将集合从一个数据库复制到另一个数据库

java - 为什么 MongoDB Java 驱动程序在条件中使用随机数生成器?

node.js - mongodb/mongoose findMany - 查找 ID 列在数组中的

node.js - 通过将 useNewUrlParser 设置为 true 来避免 "curren

mongodb - 如何重命名 MongoDB 中所有文档的字段?

mongodb - 如何在 Node.js 中使用 Mongoose 进行分页?

node.js - Mongoose:findOneAndUpdate 不返回更新的文档

node.js - 阻止 Mongoose 为子文档数组项创建 _id 属性

mongodb - 如何将 MongoDB 作为 Windows 服务运行?