我在 mongodb 中有这些数据:
{
"name": "Amey",
"country": "India",
"region": "Dhule,Maharashtra"
}
我想在查询中将字段名称作为变量传递时检索数据。
以下不起作用:
var name = req.params.name;
var value = req.params.value;
collection.findOne({name: value}, function(err, item) {
res.send(item);
});
如何查询 mongodb,同时保持字段名称及其值是动态的?
最佳答案
需要动态设置查询对象的key:
var name = req.params.name;
var value = req.params.value;
var query = {};
query[name] = value;
collection.findOne(query, function (err, item) { ... });
当您执行 {name: value}
时,键是字符串 'name'
而不是变量 name
的值。
https://stackoverflow.com/questions/17039018/