【发布时间】:2020-07-04 16:43:26
【问题描述】:
我正在尝试与 mongoose 合作实现一个我计划稍后扩展的简单搜索功能。
基本上,我要做的是从用户那里获取搜索查询并将其放入 mongoose find() 查询中,但根据他们的文档,我使用的是内置的“正则表达式”方式:
MyModel.find({ name: /john/i }, null, { skip: 10 })
这里,john 是一个静态值,当我尝试放置一个变量时它不起作用。
MyModel.find({ name: /req.query.name/i }, null, { skip: 10 })
如何放置变量而不是静态内容?
P.S:我尝试使用 JS 正则表达式,它确实有效,但我想用猫鼬的方式来做。
MyModel.find({ name: new RegExp(req.query.name, "i") }, null, { skip: 10 }) //this works
【问题讨论】:
-
我不认为在 Mongoose 使用的正则表达式中使用变量与通常在正则表达式中使用变量有任何不同。有关的? stackoverflow.com/questions/494035/…
-
@FelDev 好吧,它们是一样的