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

Truy vấn MongoDB để cập nhật mảng với trường khác?

Để cập nhật mảng với một trường khác, hãy sử dụng $ push. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo283.insertOne({"Name":"Chris","Status":["Active","Inactive"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4ab97ddd099650a5401a75")
}

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

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

{ "_id" : ObjectId("5e4ab97ddd099650a5401a75"), "Name" : "Chris", "Status" : [ "Active", "Inactive" ] }

Sau đây là truy vấn cập nhật mảng với một trường khác -

> db.demo283.update({}, {$push: {Status:{$each:['Regular', 'NotRegular'], '$slice': -4}}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 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.demo283.find();

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

{ "_id" : ObjectId("5e4ab97ddd099650a5401a75"), "Name" : "Chris", "Status" : [ "Active", "Inactive", "Regular", "NotRegular" ]