檢查 MongoDB 中的欄位是否存在?


你可以為此使用 $exists 和 $ne 運算子。為了進一步理解這一概念,我們建立一個集合和文件。建立集合和文件的查詢如下 −

> 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,0
   "insertedId" : ObjectId("5c76f7e11e9c5dd6f1f78282")
}

藉助 find() 方法,顯示來自集合的所有文件。查詢如下 −

> 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
}

以下是檢查 MongoDB 中欄位是否存在的方法。

情況 1 − 當一個欄位存在於多個文件中時。查詢如下 −

> 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 − 當一個欄位只存在於一個文件中時。查詢如下 −

> db.checkFieldExistDemo.find({"StudentName":{$exists:true,$ne:null}}).pretty();

輸出

{
   "_id" : ObjectId("5c76f7e11e9c5dd6f1f78282"),
   "StudentId" : 2,
   "StudentName" : "John",
   "isMarried" : false,
   "StudentAge" : 19
}

更新於:30-Jul-2019

185 次瀏覽

開啟你的 職業生涯

透過完成該課程獲得認證

開始學習
廣告
© . All rights reserved.