为什么Mongodb更新工作,但mongoose不会?
当我查询monodb shell时,我能够更新文档。 这是我使用的mongodb命令: db.users.update({name:"bob"}, {$set: {email:"newEmail@gmail.com} })
但是当我尝试用mongoose更新它时,它不起作用。 我在想什么?
这是mongoose的代码:
//创build用户架构
var userSchema = mongoose.Schema({ name: String, email: String }, {collection: "users"});
//创build一个模型
var userModel = mongoose.model("userModel", userSchema);
//更新文档
userModel.update({name:"bob"}, {$set: {email:"newEmail@gmail.com"}} );
你应该等待callback,看看操作是否成功
userModel.update({ name: "bob" }, {$set: { email:"newEmail@gmail.com" }}, function (err, user) { if (err) return handleError(err); res.send(user); });
mongoose
asynchronous工作,你应该等待callback中的响应。 还有一个synchrone的方式来做到这一点,但不build议您node
堆栈。
你可以使用这个,如果你不需要callback的结果
userModel.update({name:"bob"}, {$set: {email:"newEmail@gmail.com"}}).exec();