Computer >> Máy Tính >  >> Lập trình >> MongoDB

Chuyển đổi một trường thành một mảng bằng thao tác cập nhật MongoDB?

Để chuyển đổi một trường thành một mảng, hãy sử dụng toán tử $ set. Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.convertAFieldToAnArrayDemo.insertOne({"StudentSubject":"MongoDB"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ce92d7778f00858fb12e91d")
}

Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.convertAFieldToAnArrayDemo.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5ce92d7778f00858fb12e91d"), "StudentSubject" : "MongoDB" }

Sau đây là truy vấn để chuyển đổi một trường thành một mảng bằng thao tác cập nhật với $ set:-

> db.convertAFieldToAnArrayDemo.find().forEach(function(myDocument) {
   db.convertAFieldToAnArrayDemo.update(
      { _id: myDocument._id },
      { "$set": { "StudentSubject": [myDocument.StudentSubject] } }
   );
})

Hãy để chúng tôi kiểm tra tài liệu một lần nữa -

> db.convertAFieldToAnArrayDemo.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5ce92d7778f00858fb12e91d"), "StudentSubject" : [ "MongoDB" ] }