ใช้ $ne: null เพื่อค้นหาเอกสารที่มีฟิลด์อยู่และค่าไม่เป็น null (แตกต่างจาก $exists: true ที่คืนค่า true แม้ค่าเป็น null)
ตัวอย่างการใช้งาน
สร้างคอลเลกชันพร้อมข้อมูล (มี FirstName เป็น null บ้าง):
แสดงเอกสารทั้งหมด:
{ "_id" : ObjectId("5cbaf7af7219729fde21ddb5"), "FirstName" : "Larry", "Age" : 23 } { "_id" : ObjectId("5cbaf7b97219729fde21ddb6"), "FirstName" : null, "Age" : 21 } { "_id" : ObjectId("5cbaf7c57219729fde21ddb7"), "FirstName" : "John", "Age" : 22 } { "_id" : ObjectId("5cbaf7d07219729fde21ddb8"), "FirstName" : null, "Age" : 25 } { "_id" : ObjectId("5cbaf7df7219729fde21ddb9"), "FirstName" : "David", "Age" : 20 }ค้นหาเอกสารที่ FirstName ไม่เป็น null (มีค่าจริง)
{ "_id" : ObjectId("5cbaf7af7219729fde21ddb5"), "FirstName" : "Larry", "Age" : 23 } { "_id" : ObjectId("5cbaf7c57219729fde21ddb7"), "FirstName" : "John", "Age" : 22 } { "_id" : ObjectId("5cbaf7df7219729fde21ddb9"), "FirstName" : "David", "Age" : 20 }ความแตกต่างสำคัญ:
{field: {$ne: null}}- ฟิลด์มีอยู่ และค่าไม่เป็น null{field: {$exists: true}}- ฟิลด์มีอยู่ (รวมค่า null ด้วย)