关于这个问题,我已经头痛了两个小时了,似乎找不到解决办法。
下面是问题代码:
/* Users */
var mongoose = require("mongoose");
var User = new mongoose.Schema({
a: String,
d: String
});
var removeByDeviceToken = function(device_token, callback) {
this.findOne({ d: device_token }, function(error, user) {
if (error) {
callback(error);
} else if (user) {
user.remove(function(error) {
callback(error);
});
} else {
callback(new Error("No users with that device token were found."));
}
});
};
User["static"]("removeByDeviceToken", removeByDeviceToken);
mongoose.model("User", User);
问题很简单,就是没有调用user.remove()的回调。(用户本身也不会被删除。)
谢谢!
编辑:经过更多的测试,我为删除定义的中间件似乎正在被调用。我在mongohq上托管db也可能是相关的。
edit 2:经过几天的测试,发现问题是因为在我为删除定义的中间件中,我忘记调用next()函数。掌心
最佳答案
经过几天的测试,发现问题是因为在我为删除定义的中间件中,我忘记调用next()函数。掌心