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

mongodbdatabasebig data analytics

在 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" }

以下查询语句不区分大小写。它会显示文档中所有可能出现的"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" }

相关文章