Я создаю список контактов на основе приоритета, поэтому в коде я назвал его индексом. Я хочу, чтобы пользователь, но контактировал по какому-то индексу, тогда, если этот индекс уже задан какому-то контакту, чем освободиться, добавив 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");
});
})