"$oid": "5f19ff0ac695314d3b39a579"
                  
                  
                      },
                  
                  
                      "workers": {
                  
                  
                          "5f589dc04e2da1d14cb713db": {
                  
                  
                              "is_test": false,
                  
                  
                          },
                  
                  
                          "5f73196021c61fb9934283c9": {
                  
                  
                              "is_test": true,
                  
                  
                          },
                  
                  
                          "5f3bcb74abb7654d6aff8753": {
                  
                  
                              "is_test": false,
                  
                  
                          },
                  
                  
                      },
                  
                  
                  }
                  
                  
                  нужно в каждый workers добавить новое поле is_test со значением false.
                  
                  
                  
                  
                  
                  Чтоб на выходе стало так:
                  
                  
                  {
                  
                  
                      "_id": {
                  
                  
                          "$oid": "5f19ff0ac695314d3b39a579"
                  
                  
                      },
                  
                  
                      "workers": {
                  
                  
                          "5f589dc04e2da1d14cb713db": {
                  
                  
                              "is_test": false,
                  
                  
                              "is_blocked": false,
                  
                  
                          },
                  
                  
                          "5f73196021c61fb9934283c9": {
                  
                  
                              "is_test": true,
                  
                  
                              "is_blocked": false,
                  
                  
                          },
                  
                  
                          "5f3bcb74abb7654d6aff8753": {
                  
                  
                              "is_test": false,
                  
                  
                              "is_blocked": false,
                  
                  
                          },
                  
                  
                      },
                  
                  
                  }
                  
                  
                  
                  
                  
                  перерыл всю доку. Как с массивом вложенных документов понял как сделать. Но тут mapping. по сути это object у которого каждый филд это oid и его значение документ.
                  
                  
                  
                  
                  
                  как бы это в один запрос сделать? ибо этих workers там много.
                  
                  
                
думаю стоило бы workers сделать массивом из ObjectID, а вот уже данные состояния вынести в коллекцию юзера, но как я понял - сейчас менять структуру нельзя :)
именно так. Что досталось, с тем и приходится работать) Я б тож сам так делать не стал
https://docs.mongodb.com/manual/tutorial/update-documents-with-aggregation-pipeline/ + https://docs.mongodb.com/manual/reference/operator/aggregation/objectToArray/ + https://docs.mongodb.com/manual/reference/operator/aggregation/map/ + https://docs.mongodb.com/manual/reference/operator/aggregation/arrayToObject/
Обсуждают сегодня