我试图在Node.js上进行分页,但是使用mongoose-paginate的mongoose不适用于类似的表达式。
我找到Mongoose.js: Find user by username LIKE value,但结果总是空的。
我的实体包含'目标'领域。有些实体有' test'在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);
});
如果我在mongo控制台中运行查询,我得到正确的结果:
{"target":{"$regex":"te","$options":"gi"}}
你有什么想法吗?
答案 0 :(得分:1)
尝试将过滤查询更改为
var filter = { "target": {} };
if (req.param('filter')) {
filter["target"]["$regex"] = new RegExp(req.param('filter'), "i");
} else {
filter = { };
}