mongoose.findByIdAndUpdate将只保存被推入数组的对象的第一个键值



我有一个简单的对象,里面存储了两个值,每个值都是来自客户端发送的数据的req.body值。

const pushedVote = {
answer: req.body.answer, 
text: req.body.value
}

现在,当我调用findByIdAndUpdate方法时,它看起来是这样的(Poll是我的模型(

//insert answer and text 
await Poll.findByIdAndUpdate(req.body.id, {
$push: {
responseAnswers: pushedVote,
},
});

这一切都很好,但奇怪的是,我的数据库中更新的数组将只存储对象中的第一个键值对。例如,如果正在存储的pushedVote对象的答案为"A",文本为"Cat",则数据库将只存储"A"而不存储"Cat"。我在这里遗漏了什么吗?

根据我的评论,请确保在Mongoose模式中定义了text属性,否则它将不会保存到数据库中。

最新更新