ใช่ ในการดึงเอกสารหลายรายการจาก MongoDB ด้วยรหัส ให้ใช้ตัวดำเนินการ $in ไวยากรณ์มีดังนี้
db.yourCollectionName.find({_id:{$in:[yourValue1,yourValue2,yourValue3,...N]}});
ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน:
> db.retrieveMultipleDocsByIdDemo.insertOne({"_id":10,"CustomerName":"John"});{ "acknowledged" :true, "insertedId" :10 }> db.retrieveMultipleDocsByIdDemo.insertOne({"_id) ":14,"CustomerName":"Chris"});{ "acknowledged" :true, "insertedId" :14 }> db.retrieveMultipleDocsByIdDemo.insertOne({"_id":20,"CustomerName":"Robert"});{ "acknowledged" :true, "insertedId" :20 }> db.retrieveMultipleDocsByIdDemo.insertOne({"_id":25,"CustomerName":"Sam"});{ "acknowledged" :true, "insertedId" :25 }> db.retrieveMultipleDocsByIdDemo.insertOne({"_id":30,"CustomerName":"Bob"});{ "acknowledged" :true, "insertedId" :30 }> db.retrieveMultipleDocsByIdDemo.insertOne({"_id":34,"CustomerName":"Carol"});{ "acknowledged" :true, "insertedId" :34 }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find()
> db.retrieveMultipleDocsByIdDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{ "_id" :10, "CustomerName" :"John" }{ "_id" :14, "CustomerName" :"Chris" }{ "_id" :20, "CustomerName" :"Robert" }{ " _id" :25, "CustomerName" :"Sam" }{ "_id" :30, "CustomerName" :"Bob" }{ "_id" :34, "CustomerName" :"Carol" }
ต่อไปนี้เป็นแบบสอบถามเพื่อดึงเอกสารหลายฉบับจาก MongoDB โดยใช้รหัส
> db.retrieveMultipleDocsByIdDemo.find({_id:{$in:[10,20,30]}});
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{ "_id" :10, "CustomerName" :"John" }{ "_id" :20, "CustomerName" :"Robert" }{ "_id" :30, "CustomerName" :"Bob" }ก่อน>