在这个问题上,我一直在桌子上撞了大约2个小时,我似乎无法找到解决方案。
以下是问题代码:
/* 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上托管数据库可能也很重要。
编辑#2 :经过几天的测试,事实证明问题是因为在我为删除定义的中间件中,我忘了调用next()函数。 捂脸
答案 0 :(得分:4)
经过几天的测试,事实证明问题是因为在我为删除定义的中间件中,我忘了调用next()函数。捂脸