gpt4 book ai didi

javascript - 更新时, Mongoose 给我一个错误 : TypeError: Cannot set property 'vidName' of null

转载 作者:行者123 更新时间:2023-12-04 17:58:53 26 4
gpt4 key购买 nike

我正在尝试更新文档中的一个特定字段。这是我的代码:

module.exports.editAndUpdate = function(playerVideo, callback) {
console.log(playerVideo.vidName);
var newVidId = toString(playerVideo.vidId);
myModel.findById(newVidId, function(err, doc) {
if(err) throw err;
doc.vidName = playerVideo.vidName;
doc.save(callback);
});
}

这里的playerVideo是一个文档,vidNamevidId是它的字段。

而不是 doc.vidName = playerVideo.vidName,如果我使用 doc.vidName = "Hey",那么它工作得很好。我使用了 typeof 方法并检查了 playerVideo.vidName 是否是一个 String,是的,它是。

请帮我解决这个问题。感谢您的任何建议:)

最佳答案

对我来说,问题发生在我更新嵌套对象时,该对象的键值中有一个句号。

例如

"$set": {
"some.field": {
"validuser": "this works",
"invalid.user": "this breaks mongo"
}
}

MongoDB doesn't support keys with a dot ,并提供了这个神秘的错误:

cannot set property 'value' of null

解决方案 - 不要存储带有句号的 key !

关于javascript - 更新时, Mongoose 给我一个错误 : TypeError: Cannot set property 'vidName' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37846712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com