ใช้แนวคิดการสลับเพื่อเปลี่ยนลำดับขององค์ประกอบอาร์เรย์ ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo301.insertOne({"Name":["Chris","David","Bob"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e4d6ff55d93261e4bc9ea51")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo301.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e4d6ff55d93261e4bc9ea51"), "Name" : [ "Chris", "David", "Bob" ] } ต่อไปนี้เป็นแบบสอบถามเพื่อเปลี่ยนลำดับขององค์ประกอบอาร์เรย์ -
> db.demo301.find({}, { Name : 1 }).forEach(function(n) {
... var t = n.Name[0];
... n.Name[0] = n.Name[1];
... n.Name[1] = t;
... db.demo301.update({ _id: n._id }, { $set: { Name: n.Name } });
...}) แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo301.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e4d6ff55d93261e4bc9ea51"), "Name" : [ "David", "Chris", "Bob" ] }