要检查是否存在多个字段,请与$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" }