Mongodb findOne查询不会停止

时间:2014-05-17 12:05:11

标签: javascript angularjs express node-mongodb-native

我正在使用快速js和角度js,但我发现findOne方法不会结束。

对于每个请求,后端函数将在执行CURD之前先获取obj:

exports.article = function(req, res, next, id) {

    Article.load(id, function(err, article) {
        if (err) return next(err);
        if (!article) return next(new Error('Failed to load article ' + id));
        req.article = article;
        next();
    });
};

然后去摧毁它:

exports.destroy = function(req, res) {
    var article = req.article;

    article.remove(function(err) {
...

但它永远不会进入destroy范围,因为它在exports.article中保持无限运行。

加载操作实际上是这样的:

ArticleSchema.statics.load = function(id, cb) {
    this.findOne({
        _id: id
    }).populate('user', 'name username').exec(cb);
};

当我将其修改为:

exports.team = function(req, res, next, id) {
    req.team = Team.findOne({_id: id});
};

它做了同样的无休止的运行...请帮助

1 个答案:

答案 0 :(得分:0)

我发现了下一个();函数应该在最后的执行中添加。