#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. Можете ли вы уточнить