ในการย้อนกลับฟิลด์อาร์เรย์ใน MongoDB คุณสามารถใช้ forEach() ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.reverseArrayDemo.insertOne({"Skills":["C","Java"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccddf99dceb9a92e6aa1946")
} ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.reverseArrayDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : ObjectId("5ccddf99dceb9a92e6aa1946"),
"Skills" : [
"C",
"Java"
]
} นี่คือแบบสอบถามเพื่อย้อนกลับเขตข้อมูลอาร์เรย์ใน MongoDB -
> db.reverseArrayDemo.find().forEach(function (myDocument) {
... var arrayValue = [ myDocument.Skills[1], myDocument.Skills[0] ];
... db.reverseArrayDemo.update(myDocument, { $set: {Skills : arrayValue } });
... }); ให้เราแสดงเอกสารจากคอลเลกชันด้านบนเพื่อตรวจสอบว่าฟิลด์อาร์เรย์ถูกย้อนกลับหรือไม่ -
> db.reverseArrayDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : ObjectId("5ccddf99dceb9a92e6aa1946"),
"Skills" : [
"Java",
"C"
]
}