mongo shell collection.find通过_id查找不起作用

时间:2018-09-08 10:16:26

标签: mongodb

我一直在尝试使用_id来获取文档,但是它在mongo shell中不返回任何内容。当我检查集合时,它具有该_id。

Tools > Options > Build & Run > Compilers

我不了解这种行为。

2 个答案:

答案 0 :(得分:1)

尝试将_id包装在ObjectId()中

> db.test.find({"_id" : ObjectId("4ecc05e55dd98a436ddcc47c")})

> db.test.find(ObjectId("4ecc05e55dd98a436ddcc47c"))

答案 1 :(得分:1)

查询不起作用的原因是因为_id不是字符串。它是类型ObjectId的对象。您可以通过调用ObjectId("4ecc05e55dd98a436ddcc47c")来创建一个。

这将导致以下查询:

db.Client.find({_id: ObjectId("5b76f488fb83e109b3a399d9")})