要通过_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" }