การตรวจสอบ Element มีอยู่ใน Document ด้วย $exists
เพื่อหาว่า Element มีอยู่ใน MongoDB Document ให้ใช้ $exists ของ MongoDB
สร้าง Collection พร้อมข้อมูล
> db.demo497.insertOne({"details":[{"Name":"Chris"},{"Name":"Bob"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e84b3cfb0f3fa88e22790d1") }
> db.demo497.insertOne({"details":[{"Name":"Carol"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e84b3d9b0f3fa88e22790d2") }
> db.demo497.insertOne({"details":[{}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e84b3e9b0f3fa88e22790d3") }
แสดงเอกสารทั้งหมด
> db.demo497.find();
ผลลัพธ์:
{ "_id" : ObjectId("5e84b3cfb0f3fa88e22790d1"), "details" : [ { "Name" : "Chris" }, { "Name" : "Bob" } ] }
{ "_id" : ObjectId("5e84b3d9b0f3fa88e22790d2"), "details" : [ { "Name" : "Carol" } ] }
{ "_id" : ObjectId("5e84b3e9b0f3fa88e22790d3"), "details" : [ { } ] }
คิวรีหา Element ที่ไม่ใช่ Carol หรือไม่มี Field Name
> db.demo497.find({$or:[
... {"details.Name" : {$ne : "Carol"}},
... {details: {$exists: false}}
... ] ... });
ผลลัพธ์:
{ "_id" : ObjectId("5e84b3cfb0f3fa88e22790d1"), "details" : [ { "Name" : "Chris" }, { "Name" : "Bob" } ] }
{ "_id" : ObjectId("5e84b3e9b0f3fa88e22790d3"), "details" : [ { } ] }