用mongoose查询变量

时间:2015-09-15 21:53:49

标签: javascript node.js mongodb mongoose

查询看起来像这样的用户:

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

有没有办法在数据和字段名中使用变量进行查询?

1 个答案:

答案 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 */});