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

Làm cách nào để thêm trường vào bản ghi hiện có trong MongoDB?

Bạn có thể sử dụng lệnh cập nhật để thêm một trường vào bản ghi hiện có. 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.addAFieldToEveryRecordDemo.insertOne({"ClientName":"Chris","ClientAge":34});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd00e32588d4a6447b2e061")
}
> db.addAFieldToEveryRecordDemo.insertOne({"ClientName":"Robert","ClientAge":36});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd00e59588d4a6447b2e062")
}

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

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

{
   "_id" : ObjectId("5cd00e32588d4a6447b2e061"),
   "ClientName" : "Chris",
   "ClientAge" : 34
}
{
   "_id" : ObjectId("5cd00e59588d4a6447b2e062"),
   "ClientName" : "Robert",
   "ClientAge" : 36
}

Đây là truy vấn để thêm một trường vào mọi bản ghi. Chúng tôi đang thêm ClientDetails -

>db.addAFieldToEveryRecordDemo.update({},{$set:{"ClientDetails.ClientCountryName":""}},true,true);
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

Hãy để chúng tôi kiểm tra tất cả các tài liệu đã được thêm vào hồ sơ mới hay chưa -

> db.addAFieldToEveryRecordDemo.find().pretty();

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

{
   "_id" : ObjectId("5cd00e32588d4a6447b2e061"),
   "ClientName" : "Chris",
   "ClientAge" : 34,
   "ClientDetails" : {
      "ClientCountryName" : ""
   }
}
{
   "_id" : ObjectId("5cd00e59588d4a6447b2e062"),
   "ClientName" : "Robert",
   "ClientAge" : 36,
   "ClientDetails" : {
      "ClientCountryName" : ""
   }
}