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

标签 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;
     };

最佳答案

here is Example

  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();

            };

关于javascript - Mongoose 获取数据,设置在列表中(未定义),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48089602/

相关文章:

javascript - 如何将变量从回调函数传递到函数调用?

javascript - 是否可以使用 JavaScript 值作为 html 元素中的最小值?

node.js - Mongo 查询没有给出聚合函数的准确结果

mongodb - 选择mongodb中的字符串长度

javascript - 在没有 NodeJs EventEmitter 的情况下构建 Flux/React 应用程序

mongodb - 数据没有通过 mongoosastic 从 elasticsearch 索引中删除?

javascript anchor 避免点击时滚动到顶部

javascript - 对对象的两个引用,但是当修改它时,第二个仍然显示未更改的对象

javascript - 如何在没有 Duplexer 包的情况下解决 NodeSchool 的 Duplexer 挑战

javascript - 导入的常量未定义