像过滤mongoosepaginate

我试图对Node.js进行分页,但mongoose与分页的mongoose不适用于类似的expression式。

我find了Mongoose.js:通过用户名LIKE值查找用户 ,但结果总是空的。

我的实体包含“目标”字段。 在Entity.target中有“test”的实体。 我的代码是:

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

如果我在mongo控制台中运行查询,我会得到正确的结果:

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

你有什么想法吗?

尝试更改您的filter查询

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