Để chuyển đổi giá trị đơn lẻ của một trường thành mảng, sử dụng $set trong vòng lặp forEach. Tạo collection:
> db.convertAFieldToAnArrayDemo.insertOne({ "StudentSubject": "MongoDB" });
{ "acknowledged": true, "insertedId": ObjectId("5ce92d7778f00858fb12e91d") }
Hiển thị document (giá trị là chuỗi):
> db.convertAFieldToAnArrayDemo.find();
Kết quả:
{ "_id": ObjectId("5ce92d7778f00858fb12e91d"), "StudentSubject": "MongoDB" }
Chuyển đổi trường thành mảng:
> db.convertAFieldToAnArrayDemo.find().forEach(function(myDocument) {
db.convertAFieldToAnArrayDemo.update(
{ _id: myDocument._id },
{ "$set": { "StudentSubject": [myDocument.StudentSubject] } }
);
})
Kiểm tra lại:
> db.convertAFieldToAnArrayDemo.find();
Kết quả (đã thành mảng):
{ "_id": ObjectId("5ce92d7778f00858fb12e91d"), "StudentSubject": [ "MongoDB" ] }