如何在MongoDB中进行不区分大小写的查询?

对于不区分大小写的查询,请在MongoDB中使用正则表达式。让我们创建一个包含文档的集合-

> db.demo314.insertOne({"Name":"Chris brown"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e50d742f8647eb59e562056")
}
> db.demo314.insertOne({"Name":"David Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e50d743f8647eb59e562057")
}
> db.demo314.insertOne({"Name":"CHRIS BROWN"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e50d744f8647eb59e562058")
}
> db.demo314.insertOne({"Name":"DAVID MILLER"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e50d747f8647eb59e562059")
}
> db.demo314.insertOne({"Name":"chris brown"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e50d749f8647eb59e56205a")
}

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

> db.demo314.find();

这将产生以下输出-

{ "_id" : ObjectId("5e50d742f8647eb59e562056"), "Name" : "Chris brown" }
{ "_id" : ObjectId("5e50d743f8647eb59e562057"), "Name" : "David Miller" }
{ "_id" : ObjectId("5e50d744f8647eb59e562058"), "Name" : "CHRIS BROWN" }
{ "_id" : ObjectId("5e50d747f8647eb59e562059"), "Name" : "DAVID MILLER" }
{ "_id" : ObjectId("5e50d749f8647eb59e56205a"), "Name" : "chris brown" }

以下是进行不区分大小写查询的查询。这将显示文档中所有可能情况下可用的“克里斯·布朗”名称-

> db.demo314.find({"Name":/chris brown/i});

这将产生以下输出-

{ "_id" : ObjectId("5e50d742f8647eb59e562056"), "Name" : "Chris brown" }
{ "_id" : ObjectId("5e50d744f8647eb59e562058"), "Name" : "CHRIS BROWN" }
{ "_id" : ObjectId("5e50d749f8647eb59e56205a"), "Name" : "chris brown" }