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

Xóa các trường rỗng trong MongoDB

Để 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" }