2016-08-02 190 views
1

我想在Node.js上分页,但猫鼬与猫鼬paginate不适用于类似的表达式。我发现Mongoose.js: Find user by username LIKE value,但结果总是空的。像猫鼬paigeate过滤器

我的实体包含'目标'字段。在Entity.target中有一些具有“测试”的实体。我的代码是:

var filter = {}; 
    if (req.param('filter')) { 
     filter = { 
      target: new RegExp('^'+'test'+'$', "i") 
     } 
    } 

    var params = { 
     page: getPage(req), 
     limit: getCount(req) 
    }; 


    Entity.paginate(filter, params, function (err, result) {    
     res.json(result); 
    }); 

如果我运行控制台蒙哥查询,我得到正确的结果:

{"target":{"$regex":"te","$options":"gi"}} 

你有一些想法?

回答

1

试着改变你的过滤器查询

var filter = { "target": {} }; 
if (req.param('filter')) { 
    filter["target"]["$regex"] = new RegExp(req.param('filter'), "i");  
} else { 
    filter = { }; 
}