เพื่อดึงเอกสารทั้งหมดยกเว้นบางรายการเฉพาะ ให้ใช้ $nor ร่วมกับ $and
สร้างคอลเลกชันพร้อมเอกสาร:
> db.demo1.insertOne({"StudentName":"Chris","StudentMarks":38});
{ "acknowledged" : true, "insertedId" : ObjectId("5e08a4f025ddae1f53b62216") }
> db.demo1.insertOne({"StudentName":"David","StudentMarks":78});
{ "acknowledged" : true, "insertedId" : ObjectId("5e08a4f725ddae1f53b62217") }
> db.demo1.insertOne({"StudentName":"Mike","StudentMarks":96});
{ "acknowledged" : true, "insertedId" : ObjectId("5e08a4fd25ddae1f53b62218") }
แสดงเอกสารทั้งหมด:
> db.demo1.find().pretty();
ผลลัพธ์:
คำสั่งค้นหาเอกสารที่ ไม่ใช่ (StudentName = "David" และ StudentMarks = 78) พร้อมกัน โดยใช้ $nor + $and:
> db.demo1.find({$nor:[{$and:[{'StudentName':'David'},{'StudentMarks':78}]}]});ผลลัพธ์ - ได้ Chris (38) และ Mike (96) ไม่รวม David ที่มีคะแนน 78: