Javascript - Mongoose查询的动态函数

时间:2016-07-28 17:23:59

标签: node.js mongoose

我希望做一些注册表单验证,在提交时它检查数据库是否存在现有数据匹配。

// Check if username is available or not
var existsInDatabase = function(field, value){
  console.log('Working with: ', field + ' ' + value); // Console logs the appropriate fields & values
  User.find({ field : value }, function(err, docs){
    if(docs){
      console.log(docs); // console.log shows []
    }
  });
};

如果更改我的User.find()查询以获得我传递给函数的变量,它会在Mongo中找到资源。

提前感谢您提供任何帮助/指导。

1 个答案:

答案 0 :(得分:2)

您可以尝试:

  var query = {};
  query[field] = value;
  User.find(query, function(err, docs){
    if(docs){
      console.log(docs); // console.log shows []
    }
  });

如果您使用的是ES6,您可以:

  User.find({ [field] : value }, function(err, docs){
    if(docs){
      console.log(docs); // console.log shows []
    }
  });