Здесь я пытаюсь сохранить коллекцию с именем courseTitle в базы данных с использованием monggose и nodejs и если коллекция существует с тем же именем (courseTitle) при сохранении, тогда он должен заменить существующую коллекцию . Как я могу заменить существующую коллекцию новой коллекцией всякий раз, когда я сохраняю, не используя remove() и save().заменить целую коллекцию новым с таким же именем, используя мангуст и nodejs
Мой подход: сначала я удалил (удал()) коллекцию, если существует, а затем сохранил (save()) снова с тем же именем.
Есть ли какая-либо другая методика делать то же самое?
var mongoose = require('mongoose');
var courseSchema = require('./video-course-events');
module.exports.saveEvent = function(req, res){
var courseTitle = req.body.CourseDetails.courseTitle;
var Vcevents = mongoose.model(courseTitle, courseSchema);
var vcevents = new Vcevents(req.body);
Vcevents.find(function (err, result){
if(result.length)
{
// replace the collection(eg, mycourse) with new using same name(ie, mycourse).
}
else if(err){
console.log('Error occured..!!', err);
}
else{
vcevents.save(function (err, results){
if(err){
res.json(err);
}
else{
res.json(results);
}
});
}
});
}
По какой-либо причине вы хотели бы уничтожить всю коллекцию при сохранении? Это просто кажется очень плохой идеей постоянно делать. В коллекции всегда есть только один документ? – ThrowsException
Да, потому что я запускаю видео, используя эту коллекцию, которая содержит несколько событий как объект. После сохранения нескольких событий (объектов) в первый раз в этой коллекции я могу вернуться и удалить/добавить/изменить любое событие (объект), и оно будет отображаться только в db, когда я нажму кнопку «Сохранить». Сначала я добавляю все события в объект, а затем бросаю этот объект для сохранения/обновления в db. –
Я не вношу изменения непосредственно в db. Сначала все модификации будут храниться в объекте, который содержит несколько событий, а затем сохраняет этот объект в db. –