在Mongoose中使用RegEx填充后查询

时间:2013-08-07 07:29:33

标签: javascript regex mongodb mongoose

我需要根据应用于从mapReduce填充的模型的正则表达式获取文档,但我无法完成它:

Article.authors(function(err, model){
  model.find({ '_id.surname': /^A/ })
       .populate({ path: '_id', model: 'Author' })
       .exec(function(err, authors){
         ...
       });
});
你能帮帮我吗?上面没有给我看任何东西......

2 个答案:

答案 0 :(得分:0)

这样的事情:

model.find( { '_id.surname': new RegExp('^A') } )
     .populate({ path: '_id', model: 'Author' })
     .exec(function(err, authors){
       ...
     });

这里的主要部分是/^A/是MongoDB shell特定的语法,在JavaScript中你必须使用new RegExp('^A')

答案 1 :(得分:0)

您确定要密钥_id.surname吗?你可能实际上并不只是寻找姓氏领域吗?所以它应该是

Article.authors(function(err, model){
  model.find({ 'surname': /^A/ })
     .populate({ path: '_id', model: 'Author' })
     .exec(function(err, authors){
       ...
     });
});