当前位置: 首页 > 面试题库 >

Node.js和Mongoose正则表达式在多个字段上的查询

宁卓
2023-03-14
问题内容

我想使用两个相同的正则表达式查询多个字段。在此查询中,我想接受单个文本输入并检查firstName和lastName字段的结果。我可以使用猫鼬文档中的regex函数查询单个字段,但是’or’子句的语法给我带来麻烦。

var re = new RegExp(req.params.search, 'i');

app.User.find().or([{ 'firstName': { $regex: re }}, { 'lastName': { $regex: re }}]).sort('title', 1).exec(function(err, users) {
    res.json(JSON.stringify(users));
});

(我在node.js 0.6.12上运行猫鼬2.7.1)


问题答案:

上面的代码对于在多个字段上的查询都适用。原来我有一些不良数据。



 类似资料:
  • 由于lua不能使用|、{}等匹配方式,请问gmatch如何能实现(1[1-5]|2[1-3]|3[1-7]|4[1-6]|5[0-4]|6[1-5]|8[1-3])这样的匹配规则?

  • 问题内容: 有没有办法使用正则表达式来匹配重复的字符集?例如: 我知道那是错的。但是有什么可以匹配这种效果的吗? 更新: 您可以使用嵌套捕获组吗?像什么? 问题答案: 将要重复的正则表达式放在括号中。例如,如果您要重复5次: 或者,如果您想要任意数量的重复(0或更多): 或一个或多个重复: 编辑 以回应更新 正则表达式中的括号有两个作用:它们将正则表达式中的一系列项目组合在一起,以便您可以将运算符

  • 我有一根下面这样的弦 现在我希望我的程序验证我的输入是否与字符串“phone”的模式相同 我做了以下工作 没奏效。我也尝试了其他的组合。什么都不起作用。 问题:1。我怎样才能做到这一点,而不使用‘模式’像上面?2.如何用图案做到这一点。我尝试了如下模式 Pattern Pattern=Pattern.compile(“(\d+)”);Matcher match=pattern.Matcher(电话

  • 我有一根绳子: 我想将所有字符(#,)替换为(#),因此例外的输出是: 注意:我不知道字符串中有多少(#)或(#)序列 我尝试的是: 我试着写: 但结果是: 我的在线尝试 我尝试将(*)用于序列,但没有成功: 那么我如何才能得到我的例外输出?

  • 我有3个正则表达式,但当模式匹配时执行相同的操作,所以我考虑将所有三个表达式合并为一个。我尝试了很多,但无法让“|”I.e”或“在我的正则表达式中工作 regex1:<代码>文本。替换(/([\u00A9-\u3299])/g,函数myFunction(x){…} regex2: regex3: 我试过这样做,但它不起作用regex:

  • 问题内容: 我的“ Street_Address_1”列中包含以下数据: 大街123号 使用Postgresql,如何编写查询以更新“地址”表中的“ Street_Name”列?换句话说,“ Street_Name”为空白,我想用“ Street_Address_1”列中包含的街道名称值填充它。 据我所知,我想使用“ regexp_matches”字符串方法。不幸的是,我没有很多运气。 注意:您可