Я хочу, чтобы хранить кучу вопросов и ответов в коллекции пользователя, так что один пользователь может иметь следующий хранится так:Как обновить вложенные многоуровневые записи в Mongodb?
{
_id: '34ifujia0',
questions: [
{
'questionId': 'someQuestion',
'answer': [
{
'name': 'questionWithinQuestion',
'answer': 5
},
{
'name': 'anotherQuestionWithinQuestion',
'answer': 10
}
]
}
]
}
Итак, есть несколько вопросов, и они могут быть многослойными держать несколько ответов. Поэтому, если большой вопрос: «Ранг этих цветов от 1 до 10» (просто глупый пример), тогда вопрос будет содержать {name: 'red', answer: 5}, {name: 'blue', answer: 10}
для тех, кто действительно любит синий цвет.
Проблема возникает при попытке сохранить эту информацию. Я хочу добавить в ответы ответы на вопросы -1
или 1
, но я не могу связаться с ними.
Я хотел бы сделать это:
update({_id: userId', 'questions.questionId': questionId'},
{$inc: {'questions.$.answer[name]': 1}})
где userId
, questionId
и name
все правильные переменные.
(Edit:. На второй мысли, что не будет работать вообще мне действительно нужно использовать $
два раза после того, как все.)
Но этот синтаксис не допускается. Также не разрешено использовать $
дважды.
Что я могу сделать?