Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Mongoose文档保存失败,返回“0”;TypeError:无法读取属性';选项';“未定义”的定义;_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js Mongoose文档保存失败,返回“0”;TypeError:无法读取属性';选项';“未定义”的定义;

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

我有一个带有几个“ref”属性的mongoose模式。最近(我相信在升级到最新版本的mongoose之后),我的保存开始失败,除非我填充()ref字段。它失败的错误是

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)。但我没试过。