Regex 在使用Mongoose查询Mongo数据库中的集合时,如何找到与查询词类似的值?
我一直在努力寻找答案,但没有找到任何有效的方法。我有一个NodeJS应用程序,带有猫鼬ORM。我试图查询我的Mongo数据库,结果与查询类似 我尝试使用一个新的RegExp来查找结果,但它对我不起作用。我得到结果的唯一时间是当查询与集合属性的值完全相同时 下面是我现在正在使用的:Regex 在使用Mongoose查询Mongo数据库中的集合时,如何找到与查询词类似的值?,regex,string,node.js,mongodb,mongoose,Regex,String,Node.js,Mongodb,Mongoose,我一直在努力寻找答案,但没有找到任何有效的方法。我有一个NodeJS应用程序,带有猫鼬ORM。我试图查询我的Mongo数据库,结果与查询类似 我尝试使用一个新的RegExp来查找结果,但它对我不起作用。我得到结果的唯一时间是当查询与集合属性的值完全相同时 下面是我现在正在使用的: var query = "Some Query String."; var q = new RegExp('^/.*'+ query +'.*/i$'); Quote.find({au
var query = "Some Query String.";
var q = new RegExp('^/.*'+ query +'.*/i$');
Quote.find({author: q}, function(err, doc){
cb(doc);
});
如果author属性的值包含类似于查询的内容(例如:“some.query String”),则需要返回结果。也许我能做的就是剥去外壳,排除特殊字符?最好的方法是什么?本例中我的正则表达式显然不起作用。谢谢 您可能希望按如下方式创建RegExp,因为在使用
新RegExp
时,您不包含/
字符:
var q = new RegExp(query, 'i');
不过,我不知道有什么方法可以用RegExp忽略文档的
author
属性中的句点。您可能希望查看查询,以便进行更灵活的搜索。您是否可以编辑您的问题,以添加一个query
字符串和一个docauthor
属性值的示例,该属性值在您期望时不匹配?只更新了问题。如果没有道理,请告诉我。谢谢您可能需要新的RegExp(查询'i')代码>。使用RegExp
时,不包括/
字符。但这不会排除你想要的特殊角色。我的朋友,就是这样!是否有RegExp方法允许查询匹配句点或不匹配句点?你是最棒的!如果你把你的回复作为答复,我会接受你的答复。太好了。再次感谢!工作得很有魅力。