Обновить весь документ после указанного c значения - PullRequest
0 голосов
/ 12 июля 2020

Я создаю список контактов на основе приоритета, поэтому в коде я назвал его индексом. Я хочу, чтобы пользователь, но контактировал по какому-то индексу, тогда, если этот индекс уже задан какому-то контакту, чем освободиться, добавив 1 в его индекс, а затем это продолжается до последнего документа. Я использую mon goose и node.js Например, пользователь помещает контакт в индекс 2. поэтому документ с индексом 2 должен быть изменен на 3 и 4 на 5 и т. д.

router.post('/addContact', async function(req,res){
    var myData = new contactListSchema(req.body);
    const numDoc = await contactListSchema.countDocuments();
    for (let i = req.body.index; i < (numDoc-req.body.index); i++){
      contactListSchema.updateMany({index:i},{$set:{index:i+1}})
      console.log("Loop Value",i);
     
    }
    console.log("NUmber of Doc",numDoc);
        console.log(JSON.stringify(req.body));
        console.log("My Data",JSON.stringify(myData));
        myData.save()
        .then(item => {;
            res.status(200).send("Item Saved");
          })
          .catch(err => {
            res.status(400).send("unable to save to database");
              });
})
...