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

Ami*_*.io 12 regex mongoose mongodb

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

Sha*_*ana 29

mongoose doc for find.

正则表达的 mongodb doc.

   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);

   });
Run Code Online (Sandbox Code Playgroud)

注意我们传递给mongoose.findOne函数的第一个参数."{"name":{$ regex:/ Ghost /,$ options:'i'}}"."name"是您要搜索的文档的字段."幽灵"是正则表达式."i"用于不区分大小写的匹配.希望这会帮助你.

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