Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

ค้นหาเอกสารด้วย _id ใน MongoDB

ใช้ ObjectId() ในเงื่อนไข find()

เพื่อค้นหาเอกสารด้วย _id ต้องห่อค่า String ด้วย ObjectId() ไม่อาจใช้ String ตรงๆ ได้

ไวยากรณ์

db.yourCollectionName.find({"_id": ObjectId("yourId")}).pretty();

ตัวอย่าง

สร้างคอลเลกชัน searchDocumentDemo 6 รายการ:

> db.searchDocumentDemo.insertOne({"UserId":1,"UserName":"Larry"});
> db.searchDocumentDemo.insertOne({"UserId":2,"UserName":"Mike"});
> db.searchDocumentDemo.insertOne({"UserId":3,"UserName":"David"});
> db.searchDocumentDemo.insertOne({"UserId":4,"UserName":"Chris"});
> db.searchDocumentDemo.insertOne({"UserId":5,"UserName":"Robert"});
> db.searchDocumentDemo.insertOne({"UserId":6,"UserName":"Sam"});

ค้นหา _id = 5c97a901330fd0aa0d2fe48b

> db.searchDocumentDemo.find({"_id": ObjectId("5c97a901330fd0aa0d2fe48b")}).pretty();

ผลลัพธ์:

{ 
    "_id" : ObjectId("5c97a901330fd0aa0d2fe48b"), 
    "UserId" : 5, 
    "UserName" : "Robert" 
}

ในโปรแกรม (Node.js, Python, Java) ให้สร้าง ObjectId จาก String ก่อนคิวรี่ เช่น new ObjectId("...") หรือ ObjectId("...")