我有一个简单的对象,里面存储了两个值,每个值都是来自客户端发送的数据的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
属性,否则它将不会保存到数据库中。