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

ตรวจสอบว่าฟิลด์มีอยู่ใน MongoDB หรือไม่

ใช้โอเปอเรเตอร์ $exists และ $ne เพื่อตรวจสอบว่าฟิลด์มีอยู่ในเอกสารหรือไม่

ตัวอย่างการใช้งาน

สร้างคอลเลกชัน checkFieldExistDemo พร้อมเอกสารที่มีโครงสร้างต่างกัน:

> db.checkFieldExistDemo.insertOne({"EmployeeId":1,"EmployeeName":"John","isMarried":true,"EmployeeSalary":4648585});
{ "acknowledged" : true, "insertedId" : ObjectId("5c76f7b31e9c5dd6f1f78281") }
> db.checkFieldExistDemo.insertOne({"StudentId":2,"StudentName":"John","isMarried":false,"StudentAge":19});
{ "acknowledged" : true, "insertedId" : ObjectId("5c76f7e11e9c5dd6f1f78282") }

แสดงข้อมูลทั้งหมด:

> db.checkFieldExistDemo.find().pretty();
{"_id" : ObjectId("5c76f7b31e9c5dd6f1f78281"), "EmployeeId" : 1, "EmployeeName" : "John", "isMarried" : true, "EmployeeSalary" : 4648585 }
{"_id" : ObjectId("5c76f7e11e9c5dd6f1f78282"), "StudentId" : 2, "StudentName" : "John", "isMarried" : false, "StudentAge" : 19 }

กรณี 1: ฟิลด์ที่มีในหลายเอกสาร (isMarried)

> db.checkFieldExistDemo.find({"isMarried":{$exists:true,$ne:null}}).pretty();
{"_id" : ObjectId("5c76f7b31e9c5dd6f1f78281"), "EmployeeId" : 1, "EmployeeName" : "John", "isMarried" : true, "EmployeeSalary" : 4648585 }
{"_id" : ObjectId("5c76f7e11e9c5dd6f1f78282"), "StudentId" : 2, "StudentName" : "John", "isMarried" : false, "StudentAge" : 19 }

กรณี 2: ฟิลด์ที่มีในเอกสารเดียว (StudentName)

> db.checkFieldExistDemo.find({"StudentName":{$exists:true,$ne:null}}).pretty();
{"_id" : ObjectId("5c76f7e11e9c5dd6f1f78282"), "StudentId" : 2, "StudentName" : "John", "isMarried" : false, "StudentAge" : 19 }