小编典典

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

all

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

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

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

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


阅读 124

收藏
2022-03-30

共1个答案

小编典典

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

文档在这里

> 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 }
2022-03-30