在MongoDB中搜索多个文档?

要在MongoDB中搜索多个文档,请使用$in。让我们创建一个包含文档的集合-

> db.demo161.insertOne({"ClientId":101,"ClientName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3577cafdf09dd6d0853a09")
}
> db.demo161.insertOne({"ClientId":102,"ClientName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3577d0fdf09dd6d0853a0a")
}
> db.demo161.insertOne({"ClientId":103,"ClientName":"David","ClientAge":35});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3577dffdf09dd6d0853a0b")
}
> db.demo161.insertOne({"ClientId":104,"ClientName":"Carol","ClientAge":31});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3577eefdf09dd6d0853a0c")
}

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

> db.demo161.find();

这将产生以下输出-

{ "_id" : ObjectId("5e3577cafdf09dd6d0853a09"), "ClientId" : 101, "ClientName" : "Chris" }
{ "_id" : ObjectId("5e3577d0fdf09dd6d0853a0a"), "ClientId" : 102, "ClientName" : "David" }
{ "_id" : ObjectId("5e3577dffdf09dd6d0853a0b"), "ClientId" : 103, "ClientName" : "David", "ClientAge" : 35 }
{ "_id" : ObjectId("5e3577eefdf09dd6d0853a0c"), "ClientId" : 104, "ClientName" : "Carol", "ClientAge" : 31 }

以下是在MongoDB中搜索多个文档的查询-

> db.demo161.find({ClientId:{$in:[101,103,104]}});

这将产生以下输出-

{ "_id" : ObjectId("5e3577cafdf09dd6d0853a09"), "ClientId" : 101, "ClientName" : "Chris" }
{ "_id" : ObjectId("5e3577dffdf09dd6d0853a0b"), "ClientId" : 103, "ClientName" : "David", "ClientAge" : 35 }
{ "_id" : ObjectId("5e3577eefdf09dd6d0853a0c"), "ClientId" : 104, "ClientName" : "Carol", "ClientAge" : 31 }