当我查询monodb shell时,我能够更新文档。
这是我使用的mongodb命令:
db.users.update({name:"bob"}, {$set: {email:"newEmail@gmail.com} })
但是当我尝试用mongoose更新它时,它不起作用。 我错过了什么?
这是mongoose中的代码:
//创建用户架构
var userSchema = mongoose.Schema({
name: String,
email: String
}, {collection: "users"});
//创建模型
var userModel = mongoose.model("userModel", userSchema);
//更新文件
userModel.update({name:"bob"}, {$set: {email:"newEmail@gmail.com"}} );
答案 0 :(得分:1)
您应该等待回调以查看操作是否成功
userModel.update({ name: "bob" },
{$set: { email:"newEmail@gmail.com" }},
function (err, user) {
if (err) return handleError(err);
res.send(user);
});
mongoose
异步工作,您应该等待回调中的响应。还有一种同步方法可以做到这一点,但不推荐使用node
来阻止堆栈。
答案 1 :(得分:1)
如果您不需要回调结果
,则可以使用此功能userModel.update({name:"bob"}, {$set: {email:"newEmail@gmail.com"}}).exec();