Để 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:
$pullxó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ửnulltrong mảngStudentDetails. Toán tử này cũng hoạt động với object, regex, hoặc điều kiện phức tạp.