如何在 Mongoose 中使用正则表达式查找项目 [重复]

Posted

技术标签:

【中文标题】如何在 Mongoose 中使用正则表达式查找项目 [重复]【英文标题】:How to find items using regex in Mongoose [duplicate] 【发布时间】:2016-11-24 15:47:03 【问题描述】:

在 Mongoose 文档中,我没有找到 MongoDb 的 $regex 的等价物。你能提供一个带有正则表达式的简单 Mongoose find() 吗?

【问题讨论】:

也许***.com/questions/9824010/… 回答了您的问题(快速谷歌搜索)? db.users.find(name: /peter/i);? @WiktorStribiżew 你是对的。它有帮助。这个不错:***.com/a/24791882/1075289 【参考方案1】:

猫鼬doc for find.

mongodbdoc for regex.

   var Person = mongoose.model('Person', yourSchema);
   // find each person with a name contains 'Ghost'
   Person.findOne( "name" :  $regex: /Ghost/, $options: 'i'  ,
          function (err, person) 
                 if (err) return handleError(err);
                 console.log('%s %s is a %s.', person.name.first, person.name.last, person.occupation);

   );

注意我们传递给 mongoose.findOne 函数的第一个参数。 " "name" : $regex: /Ghost/, $options: 'i' "。 “名称”是您正在搜索的文档的字段。 “鬼”是正则表达式。 "i" 用于不区分大小写的匹配。希望这会对你有所帮助。

【讨论】:

它有帮助。谢谢,@ShashithDarshana! 谢谢 - 这很有帮助 - 只有一件事......如果你有一个变量,你似乎不需要包含“/”。只是 $regex:myVar, $options:'I'。在变量名之前添加“/”或将它们连接起来对我不起作用。

以上是关于如何在 Mongoose 中使用正则表达式查找项目 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

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

如何使用正则表达式在 C 代码中查找除法运算符?

如何在 Notepad++ 正则表达式查找/替换中保留括号

如何使用 sed 命令正则表达式在文件中查找第一个空行并删除

如何使用正则表达式在字符串表达式中查找以@开头的变量名?

VS2013 统计代码量(使用正则表达式)