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

จะสอบถามด้วยตัวดำเนินการ nand ใน MongoDB ได้อย่างไร


ตัวดำเนินการ $not จะไม่กลับนิพจน์ที่ซับซ้อน ดังนั้น ให้ใช้ $and หรือ $or กับตัวดำเนินการ $ne

ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo266.insertOne({"active1":true,"active2":false});{ "acknowledged" :true, "insertedId" :ObjectId("5e480f4b1627c0c63e7dbaa7")}> db.demo266.insertOne( {"active1":true,"active2":true});{ "acknowledged" :true, "insertedId" :ObjectId("5e480f501627c0c63e7dbaa8")}> db.demo266.insertOne({"active1":false,"active2" :false});{ "รับทราบ" :จริง "insertedId" :ObjectId("5e480f561627c0c63e7dbaa9")}> db.demo266.insertOne({"active1":false,"active2":true});{ "รับทราบ" :จริง "insertedId" :ObjectId("5e480f701627c0c63e7dbaaa")}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo266.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" :ObjectId("5e480f4b1627c0c63e7dbaa7"), "active1" :true, "active2" :false }{ "_id" :ObjectId("5e480f501627c0c63e7dbaa8"), "active1" :true, "active2" :true, "active2" }{ "_id" :ObjectId("5e480f561627c0c63e7dbaa9"), "active1" :false, "active2" :false }{ "_id" :ObjectId("5e480f701627c0c63e7dbaaa"), "active1" :false, "active2" :true }

ต่อไปนี้เป็นแบบสอบถามที่จะใช้ $or กับ $ne โอเปอเรเตอร์ -

> db.demo266.find({$or:[{"active1":{"$ne":true}},{"active2":{"$ne":true}}]}); 

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" :ObjectId("5e480f4b1627c0c63e7dbaa7"), "active1" :true, "active2" :false }{ "_id" :ObjectId("5e480f561627c0c63e7dbaa9"), "active1" :false, "active2" เท็จ }{ "_id" :ObjectId("5e480f701627c0c63e7dbaaa"), "active1" :false, "active2" :true }