查询看起来像这样的用户:
var getUser = function(query) {
var q = query.q, by = query.by === 'id' ? '_id' : query.by;
Account.findOne({by:q}).exec(function(error, result) {
console.log('error: ' + error);
console.log('result: ' + result);
});
}
getUser({by: 'id', q: '53mklmrt34klm'});
结果是:
error: null
result: null
有没有办法在数据和字段名中使用变量进行查询?
答案 0 :(得分:4)
您为JSON
定义query param
Account.findOne
的方式不正确。
而不是:
Account.findOne({by:q}).exec(function(error, result) {/* Your code here */});
使用:
var queryParam = {};
queryParam[by] = q;
Account.findOne(queryParam).exec(function(error, result) {/* Your code here */});