ใช้เมธอด map() บน cursor เพื่อแปลงผลลัพธ์เป็นอาร์เรย์ของค่าเฉพาะที่ต้องการ เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง:
> db.listOfSpecificValuesDemo.insertOne({"StudentName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefcc8fef71edecf6a1f6bb") }
> db.listOfSpecificValuesDemo.insertOne({"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefcc94ef71edecf6a1f6bc") }
> db.listOfSpecificValuesDemo.insertOne({"StudentName":"Robert"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefcc98ef71edecf6a1f6bd") }
> db.listOfSpecificValuesDemo.insertOne({"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefcc9cef71edecf6a1f6be") }
แสดงเอกสารทั้งหมด:
> db.listOfSpecificValuesDemo.find();
คิวรี่คืนค่าเป็นอาร์เรย์ของชื่อนักเรียนเท่านั้น (ใช้ map):
> db.listOfSpecificValuesDemo.find().map(function(myDocument){ return myDocument.StudentName });[ "John", "Chris", "Robert", "David" ]คำอธิบาย:
find()คืนค่า cursor ซึ่งมีเมธอดmap()ให้ใช้งาน ฟังก์ชัน callback จะถูกเรียกสำหรับแต่ละเอกสาร และค่าที่ return จะถูกรวมเป็นอาร์เรย์ใหม่ วิธีนี้เหมาะสำหรับดึงค่าฟิลด์เดียวจากหลายเอกสาร