Để xóa (unset) các trường có giá trị rỗng, sử dụng updateMany kết hợp $unset. Tạo collection:
> db.removeEmptyFieldsDemo.insertOne({"StudentName": ""});
{ "acknowledged": true, "insertedId": ObjectId("5ce92b9578f00858fb12e919") }
> db.removeEmptyFieldsDemo.insertOne({"StudentName": "Chris"});
{ "acknowledged": true, "insertedId": ObjectId("5ce92b9878f00858fb12e91a") }
> db.removeEmptyFieldsDemo.insertOne({"StudentName": ""});
{ "acknowledged": true, "insertedId": ObjectId("5ce92b9c78f00858fb12e91b") }
> db.removeEmptyFieldsDemo.insertOne({"StudentName": "Robert"});
{ "acknowledged": true, "insertedId": ObjectId("5ce92ba078f00858fb12e91c") }
Hiển thị tất cả document:
> db.removeEmptyFieldsDemo.find();
Kết quả:
{ "_id": ObjectId("5ce92b9578f00858fb12e919"), "StudentName": "" }
{ "_id": ObjectId("5ce92b9878f00858fb12e91a"), "StudentName": "Chris" }
{ "_id": ObjectId("5ce92b9c78f00858fb12e91b"), "StudentName": "" }
{ "_id": ObjectId("5ce92ba078f00858fb12e91c"), "StudentName": "Robert" }
Xóa trường StudentName khi giá trị là chuỗi rỗng:
> db.removeEmptyFieldsDemo.updateMany(
{ "StudentName": "" },
{ $unset: { "StudentName": 1 } }
);
{ "acknowledged": true, "matchedCount": 2, "modifiedCount": 2 }
Kiểm tra lại (trường StudentName đã bị xóa khỏi 2 document):
> db.removeEmptyFieldsDemo.find();
Kết quả:
{ "_id": ObjectId("5ce92b9578f00858fb12e919") }
{ "_id": ObjectId("5ce92b9878f00858fb12e91a"), "StudentName": "Chris" }
{ "_id": ObjectId("5ce92b9c78f00858fb12e91b") }
{ "_id": ObjectId("5ce92ba078f00858fb12e91c"), "StudentName": "Robert" }