我正在尝试使用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"}
基本上我的问题是如何覆盖日期字段是可选的文档,因此可能会创建一个带有日期字段的文档,但将来可能会将其删除。
答案 0 :(得分:0)