@dryuzhuk

Как создать запись в коллекции mongo при выполнении определенных условий?

Есть пустая коллекция Slot, есть вот такой код в маршрутах:
.... 
     const master = await Master.find({})
	   master.map(user => {
	        const timings = user.timings
	        const newSlot = new Slot({
			       masterId: req.body.masterId,
			       date: req.body.date,
			       timing: timings,
		    })
	  })


Нужно условие: если коллекция пустая, то создать в ней запись, если masterId совпадает с req.body.masterId и date совпадает с req.body.date, то записи в коллекции нужно обновить, если одно из условий не совпадает создать новую запись.

Пробовал через if/else не смотря на условия всегда создает новую запись.
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ответы на вопрос 1
caH40
@caH40
только вперед!
не понятно какие записи обновляются, или запись обновляется?

const timings = user.timings;
const master = await Master.findOneAndUpdate(
{
masterId: req.body.masterId,
date: req.body.date,
},
{ $set: { timing: timings } }
);

if (master) return;

const newSlot = new Slot({
masterId: req.body.masterId,
date: req.body.date,
timing: timings,
});

const newSlotSaved = await newSlot.save();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
17 июн. 2024, в 11:17
10000 руб./за проект
17 июн. 2024, в 11:14
10000 руб./за проект
17 июн. 2024, в 11:06
200000 руб./за проект