หากต้องการรับองค์ประกอบเดียว ให้ใช้การรวมและ LIMIT skip() ใช้เพื่อข้ามเอกสารตามจำนวนที่ระบุ
ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.demo391.insertOne( ... { "_id" : 101, "Name" : "Chris", Values: ["101", "102"] } ... ) { "acknowledged" : true, "insertedId" : 101 } > db.demo391.insertOne( ... { "_id" : 111, "Name" : "Chris", Values: ["101", "102"] } ... ) { "acknowledged" : true, "insertedId" : 111 } > db.demo391.insertOne( ... { "_id" : 121, "Name" : "Chris", Values: ["101", "102"] } ... ) { "acknowledged" : true, "insertedId" : 121 }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo391.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : 101, "Name" : "Chris", "Values" : [ "101", "102" ] } { "_id" : 111, "Name" : "Chris", "Values" : [ "101", "102" ] } { "_id" : 121, "Name" : "Chris", "Values" : [ "101", "102" ] }
ต่อไปนี้เป็นแบบสอบถามเพื่อรับองค์ประกอบเดียวจากอาร์เรย์ของผลลัพธ์โดยดัชนี -
> var i=2; > db.demo391.aggregate([ ... { $match : {"Name": "Chris"}}, ... { $skip : i-1}, ... { $limit : 1 } ... ]);
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : 111, "Name" : "Chris", "Values" : [ "101", "102" ] }