首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MongoDB:可以进行不区分大小写的查询吗?

MongoDB:可以进行不区分大小写的查询吗?
EN

Stack Overflow用户
提问于 2009-12-08 06:36:37
回答 17查看 340.3K关注 0票数 360

示例:

代码语言:javascript
复制
> db.stuff.save({"foo":"bar"});

> db.stuff.find({"foo":"bar"}).count();
1
> db.stuff.find({"foo":"BAR"}).count();
0
EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2009-12-08 06:46:04

你可以使用regex

在您的示例中,这将是:

代码语言:javascript
复制
db.stuff.find( { foo: /^bar$/i } );

不过,我必须说,也许你可以在导入的过程中将值小写(或大写),而不是每次找到它时都会招致额外的成本。显然,这不适用于人名之类的,但可能是像标签这样的用例。

票数 407
EN

Stack Overflow用户

发布于 2012-07-13 04:39:23

如果您需要从一个变量创建regexp,这是一种更好的方法:https://stackoverflow.com/a/10728069/309514

然后,您可以执行以下操作:

代码语言:javascript
复制
var string = "SomeStringToFind";
var regex = new RegExp(["^", string, "$"].join(""), "i");
// Creates a regex of: /^SomeStringToFind$/i
db.stuff.find( { foo: regex } );

这样做的好处是更具编程性,或者如果你经常重用它,你可以通过提前编译它来提高性能。

票数 84
EN

Stack Overflow用户

发布于 2018-09-04 22:37:23

代码语言:javascript
复制
db.company_profile.find({ "companyName" : { "$regex" : "Nilesh" , "$options" : "i"}});
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1863399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档