Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Truy vấn MongoDB xóa phần tử mảng khỏi document

Sử dụng toán tử $pull để xóa phần tử mảng khỏi document MongoDB với cú pháp sau:

db.tenCollectionCuaBan.update(
  { },
  { $pull: { tenTruongCuaBan: giaTriCuaBan }},
  {multi: true}
);

Tạo collection với document:

>db.removeArrayElementsDemo.insertOne({"AllPlayerName":["John","Sam","Carol","David"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd90d011a844af18acdffc1") }
>db.removeArrayElementsDemo.insertOne({"AllPlayerName":["Chris","Robert","John","Mike"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd90d2e1a844af18acdffc2") }

Hiển thị tất cả document:

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

Kết quả:

{ "_id" : ObjectId("5cd90d011a844af18acdffc1"), "AllPlayerName" : [ "John", "Sam", "Carol", "David" ] }
{ "_id" : ObjectId("5cd90d2e1a844af18acdffc2"), "AllPlayerName" : [ "Chris", "Robert", "John", "Mike" ] }

Truy vấn xóa phần tử "John" khỏi mảng AllPlayerName:

> db.removeArrayElementsDemo.update(
  { },
  { $pull: { AllPlayerName: "John" }},
  {multi: true}
);
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

Kiểm tra lại các document:

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

Kết quả sau khi xóa:

{ "_id" : ObjectId("5cd90d011a844af18acdffc1"), "AllPlayerName" : [ "Sam", "Carol", "David" ] }
{ "_id" : ObjectId("5cd90d2e1a844af18acdffc2"), "AllPlayerName" : [ "Chris", "Robert", "Mike" ] }