#node.js #mongodb #mongoose
Вопрос:
Я работаю на веб-сайте, где пользователь может добавлять данные об авариях за определенный год. Я хочу, чтобы, если пользователь попытается добавить данные за новый год, которых нет в базе данных, код должен создать новую запись за этот год. Это сжатая форма схемы, которую я использую
const yearSchema = new mongoose.Schema({ year: Number, sheet1: { f_jan_acc: Number, gi_jan_acc: Number, mi_jan_acc: Number, ni_jan_acc: Number, tot_jan_acc: Number,} })
Предположим, что запись на 2021 год существует, но не существует на 2022 год. Теперь , если пользователь попытается добавить данные за 2022 год, код должен создать новую запись за 2022 год. Это то, что я пытался сделать до сих пор:
Year.find({ year: 2022 } , function(err ,found){ if(err){ console.log(err) } else{ if(found){ console.log(found) } else{ const newYear = new Year({ year : 2022, }) newYear.save() } } });
Что еще я могу попробовать или, возможно, даже улучшить в этом? Спасибо за помощь
Комментарии:
1. Я пытаюсь найти пример, но шаблон называется «upsert» (обновление, если вы не можете вставить). Или вы хотите, чтобы ничего не случилось, если оно существует?
2. @zero298 «обновите, если вы не можете вставить» — хотя все наоборот. 🙂 «обновите запись. Если не найдено, вставьте один»
3. @zero298 мой код работал с несколькими корректировками
4. Спасибо за помощь 🙂