MongoDB使用$ or运算符获取文档

的$或操作者执行逻辑OR操作的两个或多个表达式的阵列上。让我们创建一个包含文档的集合-

> db.demo674.insertOne({Name:"Chris",Age:21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea3f33604263e90dac943eb")
}
> db.demo674.insertOne({Name:"David",Age:23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea3f33c04263e90dac943ec")
}
> db.demo674.insertOne({Name:"Bob",Age:21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea3f34204263e90dac943ed")
}
> db.demo674.insertOne({Name:"John",Age:24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea3f34804263e90dac943ee")
}

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

> db.demo674.find();

这将产生以下输出-

{ "_id" : ObjectId("5ea3f33604263e90dac943eb"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5ea3f33c04263e90dac943ec"), "Name" : "David", "Age" : 23 }
{ "_id" : ObjectId("5ea3f34204263e90dac943ed"), "Name" : "Bob", "Age" : 21 }
{ "_id" : ObjectId("5ea3f34804263e90dac943ee"), "Name" : "John", "Age" : 24 }

以下是使用$or运算符获取文档的查询-

> db.demo674.find({$or:[{Name:"David"},{Age:21}]});

这将产生以下输出-

{ "_id" : ObjectId("5ea3f33604263e90dac943eb"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5ea3f33c04263e90dac943ec"), "Name" : "David", "Age" : 23 }
{ "_id" : ObjectId("5ea3f34204263e90dac943ed"), "Name" : "Bob", "Age" : 21 }