หากต้องการรับองค์ประกอบเดียว ให้ใช้การรวมและ 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" ] }