ในการแปลงฟิลด์เป็นอาร์เรย์ ให้ใช้การดำเนินการ UPDATE ภายใน forEach() ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.demo18.insertOne({"StudentName":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e1387fc55d0fc6657d21f0e")
} ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.demo18.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e1387fc55d0fc6657d21f0e"), "StudentName" : "John" } นี่คือแบบสอบถามเพื่อแปลงเขตข้อมูลเป็นอาร์เรย์โดยใช้การดำเนินการปรับปรุง -
> db.demo18.find().forEach(function(myDocument) {
... db.demo18.update(
... { _id: myDocument._id },
... { "$set": { "StudentName": [myDocument.StudentName] } }
... );
... }) ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.demo18.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e1387fc55d0fc6657d21f0e"), "StudentName" : [ "John" ] }