You need to set the key of the query object dynamically:
var name = req.params.name;
var value = req.params.value;
var query = {};
query[name] = value;
collection.findOne(query, function (err, item) { ... });
When you do {name: value}
, the key is the string 'name'
and not the value of the variable name
.