Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

คำสั่ง MongoDB สำหรับลบออบเจกต์ว่างในอาร์เรย์ของออบเจกต์

การลบออบเจกต์ว่างออกจากอาร์เรย์ด้วย $pull

สามารถใช้ตัวดำเนินการ $pull เพื่อลบออบเจกต์ว่างออกจากอาร์เรย์ได้ เริ่มต้นด้วยการสร้างคอลเลกชันพร้อมเอกสารตัวอย่าง ซึ่งมีการเพิ่มออบเจกต์ว่างเข้าไปด้วย

> db.removeEmptyObjectsDemo.insertOne( { "UserDetails" : [ { "UserName" : "John" }, {}, { "UserName" : "Sam" } ] } );

คำสั่งแสดงเอกสารทั้งหมดในคอลเลกชัน:

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

ผลลัพธ์ก่อนลบออบเจกต์ว่าง:

{ "_id" : 101, "UserDetails" : [ { "UserName" : "John" }, {}, { "UserName" : "Sam" } ] }

คำสั่งลบออบเจกต์ว่างในอาร์เรย์:

> db.removeEmptyObjectsDemo.update( {}, { "$pull": { "UserDetails": { "UserName": { "$exists": false } } } }, { "multi": true } );

ตรวจสอบเอกสารอีกครั้งหลังจากลบ:

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

ผลลัพธ์หลังลบออบเจกต์ว่างสำเร็จ:

{ "_id" : 101, "UserDetails" : [ { "UserName" : "John" }, { "UserName" : "Sam" } ] }