像使用 mongoose-paginate 的过滤器
Posted
技术标签:
【中文标题】像使用 mongoose-paginate 的过滤器【英文标题】:Like filter with mongoose-paginate 【发布时间】:2016-12-07 17:57:55 【问题描述】:我正在尝试在 Node.js 上进行分页,但带有 mongoose-paginate 的 mongoose 不适用于类似的表达式。
我找到了Mongoose.js: Find user by username LIKE value,但结果总是空的。
我的实体包含“目标”字段。 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"
你有什么想法吗?
【问题讨论】:
【参考方案1】:尝试将您的过滤查询更改为
var filter = "target": ;
if (req.param('filter'))
filter["target"]["$regex"] = new RegExp(req.param('filter'), "i");
else
filter = ;
【讨论】:
以上是关于像使用 mongoose-paginate 的过滤器的主要内容,如果未能解决你的问题,请参考以下文章
mongoose-paginate 与 react 和 material-ui TablePagination - 单击 onChangePage 道具后第二页开始不呈现