javascript - Mongodb findOne查询不会停止

标签 javascript angularjs express node-mongodb-native

我正在使用express js和Angular 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) {
...

但它永远不会进入销毁范围,因为它在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});
};

它在无尽的奔跑中也做了同样的事情...请帮忙

最佳答案

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

关于javascript - Mongodb findOne查询不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23711134/

相关文章:

javascript - Angular UI 工具提示溢出屏幕

javascript - 如何使用 angularjs 将带有其他参数的数组发送到 Web api

javascript - AngularJS 可选路由参数

orm - Node.js 中的 Mongodb/Mongoose。通过嵌套文档的 id 查找

node.js - express.js 中的 "app.render"和 "res.render"有什么区别?

javascript - 当 overflow-x 设置为 hidden 时,处理可变高度图像的最佳方法是什么

javascript - Jquery - 拦截由 ajax 请求创建的链接

javascript - 如何访问子 Controller 中的父 Controller $scope 值

node.js - 如何通过 Express 路由器内的套接字发出消息

javascript - 将 MySQL 数据库中的 UTC 日期时间转换为客户端时区,无需任何库