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

Làm cho MongoDB thay thế giá trị mảng đơn bằng chuỗi?


Để thay thế, hãy sử dụng toán tử $ set và positional ($). Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo564.insertOne({"StudentName":["Chris","David","Mike","Sam"]});{
   "acknowledged" : true, "insertedId" : ObjectId("5e90880a39cfeaaf0b97b576")
}

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.demo564.find().pretty();

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

{
   "_id" : ObjectId("5e90880a39cfeaaf0b97b576"),
   "StudentName" : [
      "Chris",
      "David",
      "Mike",
      "Sam"
   ]
}

Sau đây là truy vấn để thay thế giá trị mảng đơn bằng chuỗi -

> db.demo564.updateMany(
...    { "StudentName": "David" },
...    { "$set": { "StudentName.$": "Carol Taylor" } }
... )
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
>

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.demo564.find().pretty();

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

{
   "_id" : ObjectId("5e90880a39cfeaaf0b97b576"),
   "StudentName" : [
      "Chris",
      "Carol Taylor",
      "Mike",
      "Sam"
   ]
}