Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

รับองค์ประกอบเดียวจากอาร์เรย์ของผลลัพธ์ตามดัชนีใน MongoDB


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