MongoDB:查找类似于正则表达式输入的名称吗?

在MongoDB中使用$regex发送名称,以查找类似于输入的名称。让我们创建一个包含文档的集合-

> db.demo514.insertOne({"Information":{"FullName":"John Doe"}});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e885116987b6e0e9d18f58c")
}
> db.demo514.insertOne({"Information":{"FullName":"John Smith"}});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e88515e987b6e0e9d18f58d")
}
> db.demo514.insertOne({"Information":{"FullName":"john doe"}});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e885169987b6e0e9d18f58e")
}
> db.demo514.insertOne({"Information":{"FullName":"Chris Brown"}});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e88516f987b6e0e9d18f58f")
}

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

> db.demo514.find();

这将产生以下输出-

{ "_id" : ObjectId("5e885116987b6e0e9d18f58c"), "Information" : { "FullName" : "John Doe" } }
{ "_id" : ObjectId("5e88515e987b6e0e9d18f58d"), "Information" : { "FullName" : "John Smith" } }
{ "_id" : ObjectId("5e885169987b6e0e9d18f58e"), "Information" : { "FullName" : "john doe" } }
{ "_id" : ObjectId("5e88516f987b6e0e9d18f58f"), "Information" : { "FullName" : "Chris Brown" } }

以下是查找类似于输入的名称的查询-

> db.demo514.find({'Information.FullName': {$regex: "John Doe", $options: 'i'}});

这将产生以下输出-

{ "_id" : ObjectId("5e885116987b6e0e9d18f58c"), "Information" : { "FullName" : "John Doe" } }
{ "_id" : ObjectId("5e885169987b6e0e9d18f58e"), "Information" : { "FullName" : "john doe" } }