Добавление уникальных объектов в массив в MongoDB с помощью Mongoose

#node.js #mongodb #mongoose

#node.js #mongodb #mongoose

Вопрос:

Я разрабатываю API с использованием node.js и mongoose, который будет принимать и обновлять данные в MongoDB, я только помещаю уникальные записи (объект) в массив в БД. У меня есть схема, подобная этой

 const studentSchema = new mongoose.Schema({
 name: String,
 reg_no: Number,
 year: Number,
 dept: String,
 mail: String,
 courses: [],
 workshops: [],
 events: [],
 semesters: [],
});
  

Мне нужно добавлять только уникальные объекты к курсам, семинарам, мероприятиям, семестрам
где объект курсов будет похож

 {
 "c_name": "crse",
 "organization": "OrgoCrse",
 "date": "12/12/01"
}
  

Я обновляю только уникальные объекты самостоятельно.

И не так, как это:

 [{
 "c_name": "crse",
 "organization": "OrgoCrse",
 "date": "12/12/01"
},
{
 "c_name": "crse2",
 "organization": "OrgoCrse2",
 "date": "12/11/01"
},
{
 "courseName": "crse",
 "organization": "OrgoCrse",
 "date": "12/12/01"
}]
  

Где были добавлены две записи одного и того же курса.

Комментарии:

1. Вероятно, лучше всего сохранить эти события в их собственной коллекции. А затем создайте составной уникальный индекс для трех упомянутых вами свойств.

2. Можете ли вы уточнить