更新没有Model的Mongoose文档

时间:2015-09-03 15:00:02

标签: node.js mongodb mongoose

是否可以直接更新猫鼬对象而不使用其模型?

我试过这段代码:

var user = new User();
//setting some user properties
//...
user.save(); //works

我单独打电话:

user.update(function(error, result){
  //the update doesn't happend, but no error
  //result = [ok=1,nModified=0,n=1]
});

所以这种方法不会抛出异常并且没有错误。但它也行不通。

当我向谷歌询问使用mongoose更新文档的方法时 我总能找到像

这样的方法
UserModel.update({ /*selector*/ }, {$set: { /**/ }}, function(error, result){/*...*/});

我可以使用这种方法保存我的示例“user”-object。这样才有用。

但我想知道我是否也支持直接保存到文档/对象的方法?我做错了什么?或者这是更新mongoose不支持的文档的方式吗?

1 个答案:

答案 0 :(得分:-1)

您没有更新

中的任何内容
user.update(function(error, result){
 //the update doesn't happend, but no error
 //result = [ok=1,nModified=0,n=1]
});

这就是为什么你觉得它不起作用。您正在提供的是undefined选择器和undefined更新($set)。

尝试user.update({}, {$set:{ ... }}function(error, result){ ... }