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


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

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

更新于: 11-May-2020

875 浏览次数

启动你的 职业

完成课程获得认证

开始
广告