Mongodb: วิธีใช้ “ไม่เท่ากัน” ในแบบสอบถาม
คุณสามารถใช้ตัวดำเนินการ $ne (หมายถึง “ไม่เท่ากัน”) ใน MongoDB เพื่อค้นหาเอกสารที่ฟิลด์ไม่เท่ากับค่าที่กำหนด
โอเปอเรเตอร์นี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
db.myCollection.find({' team ': { $ne : " Mavs "}})
ตัวอย่างนี้ค้นหาเอกสารทั้งหมดในคอลเลกชันชื่อ myCollection โดยที่ฟิลด์ ทีม ไม่เท่ากับ “Mavs”
คุณยังสามารถใช้ตัวดำเนินการ $nin (ซึ่งหมายถึง “ไม่อยู่ใน”) เพื่อค้นหาเอกสารที่ฟิลด์ไม่เท่ากับค่าใดๆ ในรายการ
โอเปอเรเตอร์นี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
db.myCollection.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})
ตัวอย่างนี้ค้นหาเอกสารทั้งหมดในคอลเลกชันชื่อ myCollection โดยที่ฟิลด์ ทีม ไม่เท่ากับ “Mavs”, “Cavs” หรือ “Spurs”
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ ทีม เรียกเก็บเงินโดยมีเอกสารดังต่อไปนี้:
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8}) db.teams.insertOne({team: " Spurs ", points: 35, rebounds: 12}) db.teams.insertOne({team: " Rockets ", points: 20, rebounds: 7}) db.teams.insertOne({team: " Warriors ", points: 25, rebounds: 5}) db.teams.insertOne({team: " Cavs ", points: 23, rebounds: 9})
ตัวอย่างที่ 1: แบบสอบถาม “แตกต่าง”
รหัสต่อไปนี้แสดงวิธีค้นหาเอกสารทั้งหมดในคอลเลกชัน ทีม โดยที่ฟิลด์ “ทีม” ไม่เท่ากับ “Mavs”:
db.teams.find({' team ': { $ne : " Mavs "}})
แบบสอบถามนี้ส่งคืนเอกสารต่อไปนี้:
{ _id: ObjectId("6203ec0e1e95a9885e1e7658"), team: 'Cavs', points: 23, rebounds: 9 } { _id: ObjectId("6203ec0e1e95a9885e1e7656"), team: 'Rockets', points: 20, rebounds: 7 } { _id: ObjectId("6203ec0e1e95a9885e1e7655"), team: 'Spurs', points: 35, rebounds: 12 } { _id: ObjectId("6203ec0e1e95a9885e1e7657"), team: 'Warriors', points: 25, rebounds: 5 }
โปรดทราบว่าเอกสารทุกฉบับในคอลเลกชัน ทีม จะถูกส่งกลับโดยที่ฟิลด์ ทีม ไม่เท่ากับ “Mavs”
หมายเหตุ : ตัวดำเนินการ $ne จะคำนึงถึงขนาดตัวพิมพ์
ตัวอย่างที่ 2: แบบสอบถาม “ไม่อยู่ใน”
รหัสต่อไปนี้แสดงวิธีค้นหาเอกสารทั้งหมดในคอลเลกชัน ทีม โดยที่ฟิลด์ ทีม ไม่เท่ากับ “Mavs”, “Cavs” หรือ “Spurs”:
db.teams.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})
แบบสอบถามนี้ส่งคืนเอกสารต่อไปนี้:
{ _id: ObjectId("6203ec0e1e95a9885e1e7656"), team: 'Rockets', points: 20, rebounds: 7 } { _id: ObjectId("6203ec0e1e95a9885e1e7657"), team: 'Warriors', points: 25, rebounds: 5 }
โปรดทราบว่าแต่ละเอกสารในคอลเลกชัน ทีม จะถูกส่งกลับเมื่อสนาม ทีม ไม่เท่ากับ “Mavs”, “Cavs” หรือ “Spurs”
หมายเหตุ #1 : คุณสามารถค้นหาเอกสารฉบับเต็มสำหรับฟังก์ชัน $ne ได้ที่นี่
หมายเหตุ #2 : คุณสามารถค้นหาเอกสารฉบับเต็มสำหรับฟังก์ชัน $nin ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน MongoDB:
MongoDB: วิธีตรวจสอบว่าฟิลด์มีสตริงหรือไม่
MongoDB: วิธีค้นหา “ไม่เป็นโมฆะ” ในฟิลด์เฉพาะ
MongoDB: วิธีแทนที่สตริง