0

我正在尝试获取集合中的所有文档,因此我可以根据它们做一些事情。

我正在使用以下代码:

var test = pool.getDbCollection('Events');
test.find()   //get them all
    .each(function (error, doc) {
        if (error) {
            throw error;
        } else {
                    //I am not getting here
                    //I am getting TypeError: Object 5 has no method 'each'
                    //And there are 5 Documents in the collection
        }
    });
}

并不断得到:对象 5 没有“每个”方法

此功能工作得很好(相同的连接属性):

 exports.getEventData = function (data) {
    var deferred = Q.defer();
    var eventCollection = pool.getDbCollection('Events');//TO DO Move this to config file
    eventCollection.findOne({"id":data},
        function (err, docs) {
            if (!err) {
                deferred.resolve(docs);
                console.log('INFO(getEvents Method): Got the data !!!!')

            } else {
                deferred.reject('INFO(getEvents Method): Failed to get the data');
            }
        }
    );

    return deferred.promise;
};

看起来每个函数都在最后一个对象上尝试过,但最后一个对象不存在。至少在我看来是这样的。但我可能完全错了。

4

1 回答 1

1

docnull在循环的最后一次迭代中作为循环完成的信号。

于 2013-11-06T12:22:35.677 回答