mongoose findone使用q模型将请求的id传递给回调



我正在使用mongoose查询findone,如下所示:

var findUser = function(){
     var deferred = q.defer();
     administratorModel.findOne({'username': 'aa'}, function(err, username){
          if(err) console.log(err);
          if(username){
          deferred.resolve(username);
          }else{
           deferred.reject('username' + query.username)
         }
     });
     return deffered.promise;    
}

如果在数据库中找不到用户名,findone的查询将返回null,但我想知道查询找不到哪个客户端。但我一无所获,因为err和username都为null。

我想找到一种从回调选项访问过滤器查询的方法,我能做到吗?如何以在回调中使用用户名的方式传递给用户名?

您可以将数据存储在变量中并在回调中访问它吗?

var findUser = function (userToFind) {
    return q.when(administratorModel
            .findOne({'username': userToFind})
            .exec()
            .then(function (username) {
                if (!username) {
                    throw new Error('Not found ' + userToFind);
                }
            }));
}

相关内容

  • 没有找到相关文章

最新更新