当我执行方法myUpdate
时,mongoose会抛出错误:
" TypeError:object不是Query.update.callback中的函数"
为什么会发生,因为我使用upsert : true
对象而不是回调传递第三个参数。想知道如何解决这个问题?
var userSchema = new Schema({
email: { type: String, unique: true },
});
var User = mongoose.model('User', userSchema);
function myUpdate(pUser) {
var user = new User(pUser);
user.update({ "username": user.username }, user, { upsert: true }, function (err) {
//dostuff
})
}
userSchema.pre('update', function (next) {
var user = this;
if (user.email) {
}
else {
}
});
答案 0 :(得分:0)
而不是这个
var user = new User(pUser);
user.update({ "username": user.username }, user, { upsert: true }, function (err) {
//dostuff
})
使用此
var user = new User(pUser);
User.update({ "username": user.username }, user, { upsert: true }, function (err) {
//dostuff
})
User.update