Node.js Can';t将变量用作mongoose.find()的键和值
我正在使用mongoose 5.11.4并尝试查找文档。官方文件上说Node.js Can';t将变量用作mongoose.find()的键和值,node.js,mongoose,Node.js,Mongoose,我正在使用mongoose 5.11.4并尝试查找文档。官方文件上说 MyModel.find({ name: /john/i }) 我想知道如何使用变量来表示“name”和“john”,并完成确切的操作。这是我正在开发的API。过滤器(名称)和值(john)将由前端用户决定。我们应该使用该值搜索给定字段。有什么建议吗 let filter = req.params.filter let value = req.params.value MyModel.find({ filter : /va
MyModel.find({ name: /john/i })
我想知道如何使用变量来表示“name”和“john”,并完成确切的操作。这是我正在开发的API。过滤器(名称)和值(john)将由前端用户决定。我们应该使用该值搜索给定字段。有什么建议吗
let filter = req.params.filter
let value = req.params.value
MyModel.find({ filter : /value/i })
不起作用您可以使用RegExp对象将值转换为正则表达式
let regex = new RegExp(`${value}`,'options');
现在您可以在mongoose查询中使用它
model.find({name:regex});
这起作用了:)
let filter=req.params.filter
let value=req.params.value
常量filterParam={}
filterParam[filter]={$regex:*${value}.*
}
const suppliers=等待供应商查找(filterParam)