我在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保持字段名称及其值动态?
您需要动态设置查询对象的键:
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。
{name: value}
'name'
name