我正在使用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/