ในการดึงค่าฟิลด์เฉพาะ ให้ใช้ตัวดำเนินการ $in $in เลือกเอกสารที่ค่าของเขตข้อมูลเท่ากับค่าใด ๆ ในอาร์เรย์ที่ระบุ
ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.indexesDemo.createIndex({"StudentFirstName":1}); { "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 } > db.indexesDemo.insertOne({"StudentFirstName":"John","StudentLastName":"Smith"}); { "acknowledged" : true, "insertedId" : ObjectId("5e06de4d25ddae1f53b621dd") } > db.indexesDemo.insertOne({"StudentFirstName":"Chris","StudentLastName":"Brown"}); { "acknowledged" : true, "insertedId" : ObjectId("5e06de5825ddae1f53b621de") } > db.indexesDemo.insertOne({"StudentFirstName":"John","StudentLastName":"Doe"}); { "acknowledged" : true, "insertedId" : ObjectId("5e06de6725ddae1f53b621df") } > db.indexesDemo.insertOne({"StudentFirstName":"David","StudentLastName":"Miller"}); { "acknowledged" : true, "insertedId" : ObjectId("5e06de7225ddae1f53b621e0") }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.indexesDemo.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e06de4d25ddae1f53b621dd"), "StudentFirstName" : "John", "StudentLastName" : "Smith" } { "_id" : ObjectId("5e06de5825ddae1f53b621de"), "StudentFirstName" : "Chris", "StudentLastName" : "Brown" } { "_id" : ObjectId("5e06de6725ddae1f53b621df"), "StudentFirstName" : "John", "StudentLastName" : "Doe" } { "_id" : ObjectId("5e06de7225ddae1f53b621e0"), "StudentFirstName" : "David", "StudentLastName" : "Miller" }
ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างดัชนี -
> db.indexesDemo.find( ... { StudentFirstName: { $in: [ "John", "David" ] } }, ... { _id: 0, StudentLastName: 0 } ... );
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "StudentFirstName" : "David" } { "StudentFirstName" : "John" } { "StudentFirstName" : "John" }