mongoose关于模糊搜索的写法,有不指定字段的写法吗?
有这个问题是因为有一个需求,要将这个搜索接口写成通用的,网上的一些教程都是这样的:
const keyword = this.params.keyword //从URL中传来的 keyword参数
const reg = new RegExp(keyword, 'i') //不区分大小写
const result = yield User.find(
{
$or : [ //多条件,数组
{nick : {$regex : reg}},
{email : {$regex : reg}}
]
},
{
password : 0
},
{
sort : { _id : -1 },
limit : 100
}
)
虽然内容是模糊的,但是需要指定字段,但是多个模型都用这个接口的话,不可能每一个模型都一样是吧。
$or : [ //多条件,数组
{nick : {$regex : reg}},
{email : {$regex : reg}}
]
我该怎么把这部分的指定字段变成匹配所有字段呢,注意是每个模型的所有字段,因为所有的列表页都要用这个接口。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过中间件根据参数指定字段实现了,别问为什么不用$text