实例 .save() 不工作"/>
Mongoose 实例 .save() 不工作
我对 Mongoose 和 MongoDb 有疑问
非常有趣的是,只有
Model.update
有效,而 save
永远无效,甚至不触发回调。
猫鼬:4.4.5 MongoDB:3.0.8
快速路线
var mongoose = require('mongoose');
mongoose.connect("mongodb://127.0.0.1:27017/db");
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function(callback) {
console.log("connection to db open")
});
var User = require("../models/user.js");
用户模型
var user = new Schema({
uid: { type: Number, required: true, unique: true},
hwid: { type: String, default:""},
bol:{type:String,default:""}
});
更新 Enpoint
工作版本:Model.update()
User.update({_id: id}, {
uid: 5,
}, function(err, numberAffected, rawResponse) {
console.log(err);
})
无效版本,我必须解决这个问题:Object.save()
User.find({_id:id}, function(err,user){
if(err){
console.log(err);
}
if(!user){
console.log("No user");
}else{
user.uid = 5;
user.save(function(err,news){
console.log("Tried to save...");
});
}
console.log("At least worked");
})
甚至回调都没有触发。连接成功打开。它从不调用回调。
- 尝试使用
没用。var User = connection.model('User', schema)
我有同样的问题。我的问题是关于更改 db 中的数组,然后当我尝试使用 .save() 时,它不明白我更改了任何东西,然后 .save() 不起作用。 我只是在使用 .save() 之前使用 markModified() ,我的问题就解决了。
这是我有问题的代码:(不工作)
club.members[index].name = new_name;
club.save();
这是我解决的代码:(工作)
club.members[index].name = new_name;
club.markModified('members');
club.save();
享受!
更多推荐
Mongoose 实例 .save() 不工作
发布评论