Mongodb mongo shell collection.find by\u id不起作用
我一直在尝试使用_id获取文档,但它在mongo shell中没有返回任何内容。当我检查集合时,它具有该_idMongodb mongo shell collection.find by\u id不起作用,mongodb,Mongodb,我一直在尝试使用_id获取文档,但它在mongo shell中没有返回任何内容。当我检查集合时,它具有该_id > db.Client.find({_id:"5b76f488fb83e109b3a399d9"}) > db.Client.find().pretty() { "_id" : ObjectId("5b76f488fb83e109b3a399d9"), "emailHost" : "Gmail", "name" : "ABC DEF", "u
> db.Client.find({_id:"5b76f488fb83e109b3a399d9"})
> db.Client.find().pretty()
{
"_id" : ObjectId("5b76f488fb83e109b3a399d9"),
"emailHost" : "Gmail",
"name" : "ABC DEF",
"updatedAt" : ISODate("2018-08-17T16:15:04.907Z"),
"createdAt" : ISODate("2018-08-17T16:15:04.907Z"),
"__v" : 0
}
{
"_id" : ObjectId("5b76f48efb83e109b3a399db"),
"emailHost" : "Gmail",
"name" : "ABC DEF",
"updatedAt" : ISODate("2018-08-17T16:15:10.635Z"),
"createdAt" : ISODate("2018-08-17T16:15:10.635Z"),
"__v" : 0
}
我不理解这种行为。尝试在ObjectId()中包装_id)
查询不起作用的原因是
\u id
不是字符串。它是类型为ObjectId
的对象。您可以通过调用ObjectId(“4ecc05e55dd98a436ddcc47c”)
创建一个
这将导致以下查询:
db.Client.find({_id: ObjectId("5b76f488fb83e109b3a399d9")})
db.Client.find({_id: ObjectId("5b76f488fb83e109b3a399d9")})