gpt4 book ai didi

node.js - 不同 Node js MongoDB 不区分大小写

转载 作者:搜寻专家 更新时间:2023-10-31 22:40:02 24 4
gpt4 key购买 nike

我在 Mongo 中使用 distinct 来返回 Jquery 自动完成中的一些值,如下所示:

function Reg(title)
{
this.title= title;
}

exports.find = function(req, res) {
var b=req.params.search;
var query = new Array();
var cadsrch = b.split(' ');
var l = cadsrch.length;
var i = 0;
for (i = 0; i < l; i++) {
if(cadsrch[i]!=''){
query[i]=new RegExp('^'+cadsrch[i], 'i');
}
}

var data=new Array();
db.collection('publication', function(err, collection) {
collection.distinct('title',{content:{'$all':query}},{'$or':[{type:'an'},{type:'pub'}]},
function(err, items) {
var l=items.length,i=0;
for (i=0;i<l;i++){
data[i]=new Reg(items[i]);
}
res.jsonp(data);
}
)
});
};

问题是“标题”列区分大小写,我的意思是例如汽车与汽车不同,我不知道是否有办法避免这种情况并将汽车与汽车相同

最佳答案

我刚刚看到这个问题,我知道它已经被回答了,但是,为了将来引用,有一个“$downcase”;它被称为 $toLower http://docs.mongodb.org/manual/reference/aggregation/toLower/#exp._S_toLower

db.c.aggregate([
{$group:{_id:{$toLower:'$title'}}}
]);

但有一个问题,在实现不区分大小写的索引之前,您不能按不区分大小写的方式进行搜索:https://jira.mongodb.org/browse/SERVER-90 .这意味着目前您必须像现在一样使用不区分大小写的正则表达式进行搜索。

关于node.js - 不同 Node js MongoDB 不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18337305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com