【发布时间】:2021-05-27 00:58:08
【问题描述】:
如何通过 id 在 mongoose 中更改数组中对象的部分字段? 我需要在一个对象“卡片”中更改问题和答案。我该怎么做?
我的奇怪尝试:
const game = await Game.findOneAndUpdate({ _id: cardId, cards._id: itemQuestionId }, { $set: {
cards.$.question: questionEdit,
cards.$.answer: answerEdit
}
}).lean()
文档结构-
{
"theme": "Игра престолов",
"cards": [{
"_id": {
"$oid": "60ae1e78956ee2a72057c87f"
},
"question": "Мастера монет Лорда Петра Баелиша также знали под каким именем?",
"answer": "Мизинец",
"points": 100
}, {
"_id": {
"$oid": "60ae1e78956ee2a72057c880"
},
"question": "Что изображено на гербе Ланнистеров?",
"answer": "Лев",
"points": 200
}, {
"_id": {
"$oid": "60ae1e78956ee2a72057c881"
},
"question": "Как зовут Лютоволка Джона Сноу?",
"answer": "Призрак",
"points": 300
}, {
"_id": {
"$oid": "60ae1e78956ee2a72057c882"
},
"question": "Кто был ответственным за создание Ночного Короля?",
"answer": "дети леса",
"points": 400
}, {
"_id": {
"$oid": "60ae1e78956ee2a72057c883"
},
"question": "Чёрно-белый дом служит ещё и храмом. А кому там поклоняются?",
"answer": "Многоликому",
"points": 500
}],
"__v": 0
}
在互联网上我找到了仅适用于 MongoDB 的解决方案,我需要 Mongoose
【问题讨论】:
-
此处的问题和答案必须仅用英语书写,而不是多种语言。如果您需要俄语帮助,请使用ru.stackoverflow.com)。
-
请将代码、错误消息、标记和其他文本信息作为文本发布,而不是作为文本的图片。为什么:meta.stackoverflow.com/q/285551/157247
-
根据
syntax过滤查询似乎是正确的
标签: javascript database mongoose