用mongoose覆盖mongo文件

时间:2014-12-12 11:09:39

标签: mongodb mongoose

我正在尝试使用mongoose更新整个文档。

myModel.update({_id:item._id}, item, {overwrite: true});

我发现通过使用overwrite选项,可以覆盖文档,而不是仅更新mongoose对象中的字段。 (奇怪的是,mongo的默认行为是覆盖)

问题是,当我尝试更新删除了Date字段的文档时,我收到Cannot read property 'constructor' of undefined错误。我相信这种情况正在发生,因为在我的模式中,删除的字段被定义为Date并且mongoose在将undefined转换为Date时抛出异常。所以我很困惑如何更新日期字段是可选的文档。 所以,让我们说我的原始文件是:

{_id: id, startDate: myDate, title: "title"}

当我尝试将文档更新为以下时,我得到了例外:

{_id: id, title: "title"}

基本上我的问题是如何覆盖日期字段是可选的文档,因此可能会创建一个带有日期字段的文档,但将来可能会将其删除。

1 个答案:

答案 0 :(得分:0)

你尝试过使用this.save或smth吗?