Mongoose获取数据,在列表中设置(未定义)

时间:2018-01-04 06:08:31

标签: javascript node.js mongodb mongoose

我正在尝试使用自定义函数从MongoDB获取两个用户的所有消息。我无法设置列表。我不知道如何在这里使用回调。

 fetchall = function(chatuser, me)  {
       var allmessage = [] ;
        var promise =  this.model.find({},function(err, docs)  {
          if (err) { return console.error(err); 
            }
             console.log(docs); //working
            //  doSomethingElse(docs);
            allmessage = JSON.stringify(docs);
            return allmessage;
        }).exec();

     // promise.then(doSomethingElse(cc));
        console.log('all',allmessage);   // undefined
        return allmessage;
     };

1 个答案:

答案 0 :(得分:2)

  

这里是示例

  fetchall = function(chatuser, me, cb) {
            var allmessage = [];
            var promise = this.model.find({}, function(err, docs) {
                    if (err) {
                        // here cb is callback
                        return cb(err)
                    } else {
                        console.log(docs); //working
                        if (Array.isArray(docs) && docs.length > 0) {
                            // do it here                      
                            cb(null, docs)

                        } else {

                            // throw error here
                           // no result found like
                            cb()
                        }

                    }).exec();

            };