首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongo - Lowercase查找

Mongo - Lowercase查找
EN

Stack Overflow用户
提问于 2014-05-23 08:39:44
回答 1查看 1.5K关注 0票数 1

下面的find查询在小写场景中不起作用。如果集合中的值是大写&我所传递的是小写,则不会给出结果。

如何覆盖区分大小写的行为?

代码语言:javascript
复制
User.find({
        $or:
        [
            { 'basicinformation.firstname': { '$regex': firstname + '.*' } },
            { 'basicinformation.lastname': { '$regex': lastname + '.*' } }
        ]
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-23 08:43:07

$options添加到$regex运算符中:

代码语言:javascript
复制
User.find({
    $or:
    [
        { 
            'basicinformation.firstname': { 
                '$regex': firstname + '.*', '$options': 'i' 
             }
        },
        { 
            'basicinformation.lastname': { 
                '$regex': lastname + '.*', '$options': 'i'  
            }
        }
    ]
}

因此,那里的"i"使得搜索的大小写不敏感。请注意,调用不区分大小写的搜索最多只能强制索引扫描,即使您将正则表达式锚定在字符串的开头。

由于这很可能影响您的性能,请考虑其他选项,如文本搜索索引和查询或修改大小写,或者使用附加字段或在输入和存储中使用单独的案例格式(如果可以的话)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23824598

复制
相关文章

相似问题

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