MongoDB查询以检查是否存在多个字段

要检查是否存在多个字段,请与$and一起使用$exists。让我们创建一个包含文档的集合-

> db.demo475.insertOne({"StudentFirstName":"Chris","StudentAge":23});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e80c113b0f3fa88e2279088")
}
>
db.demo475.insertOne({"StudentFirstName":"Bob","StudentAge":21,"StudentCountryName":"US"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e80c127b0f3fa88e2279089")
}
> db.demo475.insertOne({"StudentFirstName":"David","StudentAge":22});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e80c135b0f3fa88e227908a")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo475.find();

这将产生以下输出-

{ "_id" : ObjectId("5e80c113b0f3fa88e2279088"), "StudentFirstName" : "Chris", "StudentAge" :
23 }
{ "_id" : ObjectId("5e80c127b0f3fa88e2279089"), "StudentFirstName" : "Bob", "StudentAge" :
21, "StudentCountryName" : "US" }
{ "_id" : ObjectId("5e80c135b0f3fa88e227908a"), "StudentFirstName" : "David", "StudentAge"
: 22 }

以下是检查多个字段是否存在的查询-

> db.demo475.find(
... { '$and':
...    [ { 'StudentFirstName': { '$exists': true } },
...       { 'StudentAge': { '$exists': true } },
...       { 'StudentCountryName': { '$exists': true } } ]
...    }
... );

这将产生以下输出-

{ "_id" : ObjectId("5e80c127b0f3fa88e2279089"), "StudentFirstName" : "Bob", "StudentAge" :
21, "StudentCountryName" : "US" }