要通过_id在MongoDB中搜索文档,您需要调用ObjectId()。首先让我们看一下语法
db.yourCollectionName.find({"_id":ObjectId("yourId")}).pretty();为了理解概念并搜索文档,让我们实现以下查询以创建包含文档的集合
> db.searchDocumentDemo.insertOne({"UserId":1,"UserName":"Larry"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c97a8e4330fd0aa0d2fe487")
}
> db.searchDocumentDemo.insertOne({"UserId":2,"UserName":"Mike"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c97a8ea330fd0aa0d2fe488")
}
> db.searchDocumentDemo.insertOne({"UserId":3,"UserName":"David"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c97a8f1330fd0aa0d2fe489")
}
> db.searchDocumentDemo.insertOne({"UserId":4,"UserName":"Chris"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c97a8fa330fd0aa0d2fe48a")
}
> db.searchDocumentDemo.insertOne({"UserId":5,"UserName":"Robert"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c97a901330fd0aa0d2fe48b")
}
> db.searchDocumentDemo.insertOne({"UserId":6,"UserName":"Sam"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c97a911330fd0aa0d2fe48c")
}以下是在find()方法的帮助下显示集合中所有文档的查询
> db.searchDocumentDemo.find().pretty();
This will produce the following output:
{
"_id" : ObjectId("5c97a8e4330fd0aa0d2fe487"),
"UserId" : 1,
"UserName" : "Larry"
}
{
"_id" : ObjectId("5c97a8ea330fd0aa0d2fe488"),
"UserId" : 2,
"UserName" : "Mike"
}
{
"_id" : ObjectId("5c97a8f1330fd0aa0d2fe489"),
"UserId" : 3,
"UserName" : "David"
}
{
"_id" : ObjectId("5c97a8fa330fd0aa0d2fe48a"),
"UserId" : 4,
"UserName" : "Chris"
}
{
"_id" : ObjectId("5c97a901330fd0aa0d2fe48b"),
"UserId" : 5,
"UserName" : "Robert"
}
{
"_id" : ObjectId("5c97a911330fd0aa0d2fe48c"),
"UserId" : 6,
"UserName" : "Sam"
}以下是通过_id在MongoDB中搜索文档的查询。我们调用ObjectId()来显示结果:
> db.searchDocumentDemo.find({"_id":ObjectId("5c97a901330fd0aa0d2fe48b")}).pretty();这将产生以下输出:
{
"_id" : ObjectId("5c97a901330fd0aa0d2fe48b"),
"UserId" : 5,
"UserName" : "Robert"
}