Какой лучший способ обновить документ MongoDB с высокой вложенностью?

#node.js #mongodb #mongoose #operators

#node.js #mongodb #мангуст #операторы

Вопрос:

Я работаю в системе опросов, используя Nodejs, Mongoose и MongoDB.

Когда пользователь добавляет голосование, мне нужно обновить параметр высокого уровня вложенности.

Каждую секунду будут голосовать около 500 человек.

Есть ли способ получить эффективный доступ к узлу «голоса» и суммировать целое число?

 survey { // Level 1
    title,
    description,
    content
        [ // Array of objects Level 2
            { 
                id_options
                options: [ // Array of objects level 3
                    {
                        id_votes
                        votes //<<< Value to update with votes   1
                    }
                ]
            }
        ]
}
  

Спасибо!

Ответ №1:

Используйте $update в агрегации — обратите внимание, что вам нужно будет $unwind ваши массивы документов.