Как использовать обновление многих в мангусте, чтобы выполнить цикл из 8 элементов и поместить их в массив в этой схеме

#mongodb #mongoose #schema

Вопрос:

У меня есть такая схема

 const facilitySchema = new Schema({  desalinations: [{  Type: Schema.Types.ObjectId,  // ref: "Desalination"  }],  DesalinationT1:String,  DesalinationT2:String,  DesalinationT3:String,  DesalinationT4:String,  DesalinationT5:String,  DesalinationT6:String,  DesalinationT7:String,  DesalinationT8:String, })  

Я хочу запустить обновление, в котором я помещаю каждое опреснение в массив опреснений

Ответ №1:

Это то, что я использовал для этого ПРИМЕЧАНИЕ: ОПРЕСНЕНИЯ БЫЛИ ИЗМЕНЕНЫ НА ROS. Я просматриваю каждую схему объекта и обновляю каждую из них

 let facilitiesReturned = await Facility.find({}, (err) =gt; {  if (err) {  return res.status(400).json({ success: false, error: err });  }  })  .clone()  .catch((e) =gt; console.log(e));   for (let i = 0; i lt; facilitiesReturned.length; i  ) {  const ROs = [];  for (let s = 1; s lt; 9; s  ) {  const name = `ROT${s}`;  if (facilitiesReturned[i][name]) {  const RO = facilitiesReturned[i][name];  ROs.push(RO);  }  }  Facility.updateOne(  { _id: facilitiesReturned[i]._id },  {  // $set: { customers: [] },  $addToSet: {  ROs: {  $each: [...ROs],  },  },  },  (err, result) =gt; {  if (err) {  console.log(err);  }  }  ).clone();  }  console.log("Finished updating");  });