找出哪个MongoDB文档包含特定字符串

若要查找包含特定字符串的文档,请使用$regex和find()。让我们创建一个包含文档的集合-

> db.demo597.insertOne({"Name":"John Doe"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e947ae3f5f1e70e134e2690")
}
> db.demo597.insertOne({"Name":"John Smith"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e947ae8f5f1e70e134e2691")
}
> db.demo597.insertOne({"Name":"Chris Brown"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e947aeff5f1e70e134e2692")
}
> db.demo597.insertOne({"Name":"Adam Smith"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e947afff5f1e70e134e2693")
}

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

> db.demo597.find();

这将产生以下输出-

{ "_id" : ObjectId("5e947ae3f5f1e70e134e2690"), "Name" : "John Doe" }
{ "_id" : ObjectId("5e947ae8f5f1e70e134e2691"), "Name" : "John Smith" }
{ "_id" : ObjectId("5e947aeff5f1e70e134e2692"), "Name" : "Chris Brown" }
{ "_id" : ObjectId("5e947afff5f1e70e134e2693"), "Name" : "Adam Smith" }

以下是查询以查找哪个MongoDB文档包含特定字符串-

> db.demo597.find({Name:{$regex:/smith/i}} );

这将产生以下输出-

{ "_id" : ObjectId("5e947ae8f5f1e70e134e2691"), "Name" : "John Smith" }
{ "_id" : ObjectId("5e947afff5f1e70e134e2693"), "Name" : "Adam Smith" }