【发布时间】:2019-01-07 15:06:39
【问题描述】:
我正在尝试将参数传递给 mongo 查询 - 如果我输入文字,它可以正常工作,但是,当我尝试用变量(参数)替换文字时,它会失败
想象一个带有“事物”的数据集
{"thing": {"name":"book","label":"Bobs"}}
{"thing": {"name":"blanket","label":"Bobs"},
{"thing": {"name":"books","label":"Jills"},
{"thing": {"name":"blankets","label":"Jills"},
我有办法找到“书”“书”“书”“书”或“毯子”
如果我用文字“书”来做这件事——它会起作用
function( name, callback ) {
Catalog
.find({ 'thing.name': {"$regex": /Book/, "$options": "i" }})
.exec(callback);
}
但是 - 我希望使用参数“名称”。
function( name, callback ) {
Catalog
.find({ 'thing.name': {"$regex": /name/, "$options": "i" } })
.exec(callback);
}
但这不起作用,它似乎在寻找文字“名称”而不是传入的值。我该如何逃脱呢?
【问题讨论】:
标签: javascript node.js mongodb mongoose