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

Xóa phần tử null khỏi mảng MongoDB?

Để xóa phần tử null khỏi mảng trong MongoDB, bạn sử dụng toán tử $pull với giá trị null.

Tạo dữ liệu mẫu

Document đầu tiên có mảng StudentDetails chứa phần tử null.

> db.removeNullDemo.insertOne( 
  { 
    "_id" : 1, 
    "StudentDetails" : [ 
      { "FirstName": "John", "LastName":"Smith" }, 
      { "Age":21 }, 
      null 
    ] 
  } 
);
{ "acknowledged" : true, "insertedId" : 1 }
> db.removeNullDemo.insertOne( 
  { 
    "_id" : 2, 
    "StudentDetails" : [ 
      { "FirstName": "Carol", "LastName":"Taylor" }, 
      { "Age":23 } 
    ] 
  } 
);
{ "acknowledged" : true, "insertedId" : 2 }

Hiển thị document:

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

Xóa phần tử null

> db.removeNullDemo.update({_id:1},{$pull:{StudentDetails:null}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Kiểm tra kết quả:

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

Giải thích: $pull xóa tất cả phần tử trong mảng khớp với giá trị chỉ định. Ở đây {$pull: {StudentDetails: null}} xóa mọi phần tử null trong mảng StudentDetails. Toán tử này cũng hoạt động với object, regex, hoặc điều kiện phức tạp.