是否可以在MongoDB中进行不区分大小写的查询?

是的,您可以使用regexp在MongoDB中进行不区分大小写的查询。语法如下:

db.yourCollectionName.find({"yourFieldName":/^yourvalue$/i});

为了理解上述语法,让我们创建包含一些文档的集合。用于创建包含文档的集合的查询如下:

> db.caseInsensitiveDemo.insertOne({"Name":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6d7a67f2db199c1278e7ef")
}
> db.caseInsensitiveDemo.insertOne({"Name":"JOHN"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6d7ad6f2db199c1278e7f0")
}

在的帮助下显示集合中的所有文档find()。查询如下:

> db.caseInsensitiveDemo.find();

以下是输出:

{ "_id" : ObjectId("5c6d7a67f2db199c1278e7ef"), "Name" : "John" }
{ "_id" : ObjectId("5c6d7ad6f2db199c1278e7f0"), "Name" : "JOHN" }

这是使查询不区分大小写的查询:

> db.caseInsensitiveDemo.find({"Name":/^john$/i});

以下是输出:

{ "_id" : ObjectId("5c6d7a67f2db199c1278e7ef"), "Name" : "John" }
{ "_id" : ObjectId("5c6d7ad6f2db199c1278e7f0"), "Name" : "JOHN" }