Node.js Mongoose文档保存失败,返回“0”;TypeError:无法读取属性';选项';“未定义”的定义;
我有一个带有几个“ref”属性的mongoose模式。最近(我相信在升级到最新版本的mongoose之后),我的保存开始失败,除非我填充()ref字段。它失败的错误是Node.js Mongoose文档保存失败,返回“0”;TypeError:无法读取属性';选项';“未定义”的定义;,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我有一个带有几个“ref”属性的mongoose模式。最近(我相信在升级到最新版本的mongoose之后),我的保存开始失败,除非我填充()ref字段。它失败的错误是 TypeError: Cannot read property 'options' of undefined 还有谁见过这个吗?我想我可以通过总是填充来解决这个问题,但我想理解为什么这是必要的。这是由我的自定义toObject和toJSON转换造成的,它删除了通过API返回JSON时我不希望序列化的属性 我不知道这也影响了Mon
TypeError: Cannot read property 'options' of undefined
还有谁见过这个吗?我想我可以通过总是填充来解决这个问题,但我想理解为什么这是必要的。这是由我的自定义toObject和toJSON转换造成的,它删除了通过API返回JSON时我不希望序列化的属性 我不知道这也影响了Mongoose对MongoDB的序列化
编辑:尝试保存具有未填充的“ref”属性的文档也可能导致此问题 我遇到了一个类似的问题,它帮助发送了HTTP头字段
Content-Type:application/json
,这是以前丢失的。
添加这一点很有帮助。+1提及ref属性;对我来说,这是因为试图保存一个具有水合ref属性(对象)的文档,而不仅仅是
\u id
。很好地解决了“ref”属性问题。这就是我的问题。这里也是一样,我的ref属性是一个空对象。不确定它是否与您的解决方案相关,但我通过在保存到mongo之前复制JS对象解决了这个问题。似乎Nodejs添加了一些属性,如_uuu _u u _u u u或导致保存失败的东西。但是,当您放置正确的内容类型时,对象的处理方式可能会有所不同(例如,不添加_uu _u _u _u)。但我没试过。