часть коллекций на предмет замены данных.
                  
                  
                  Скрипт для mongoshell не поддерживает async/await.
                  
                  
                  Правильным ли будет запустить цикл по массву коллекций и в цикле сделать bulkWrite?
                  
                  
                  
                  
                  
                  function start (array) {
                  
                  
                    for (var index = 0; index < array.length; index++) {
                  
                  
                      const [collection, fields] = array[index]
                  
                  
                      const col = collection.split(':')
                  
                  
                      const query = {}
                  
                  
                      const params = {}
                  
                  
                  
                  
                  
                      fields.forEach(field => {
                  
                  
                        if (field.replaceWith === '$unset') {
                  
                  
                          if (!params.$unset) params.$unset = {}
                  
                  
                          params.$unset[field.source] = ""
                  
                  
                        } else {
                  
                  
                          if (!params.$set) params.$set = {}
                  
                  
                          params.$set[field.source] = field.replaceWith
                  
                  
                        }
                  
                  
                        if (field.query) Object.assign(query, field.query)
                  
                  
                      })
                  
                  
                  
                  
                  
                      const updateMany = {
                  
                  
                              filter: query,
                  
                  
                              update: params,
                  
                  
                            }
                  
                  
                      console.log('Updating ${collection}...')
                  
                  
                      // db.getCollection(col[0]).bulkWrite([{ updateMany }])
                  
                  
                    }
                  
                  
                  }
                  
                  
                  
                  
                  
                  start(Object.entries(collections))
                  
                  
                
вполне
Обсуждают сегодня