Я пытаюсь изменить документ в Mongoose, но изменения, похоже, не сохраняются. Сама функция определенно вызывается, а ошибка равна нулю каждый раз. Регистрация изменений, сделанных до и после ввода идентификатора в массив, показывает, что он был добавлен, но он не сохраняется.Функция сохранения Mongoose не сохраняет изменения
function(req, res) {
var id = req.user._id;
Moment.findOne({ _id: req.body.moment._id }, function (err, moment) {
moment.comments[req.body.index].likes.push(id);
moment.save(function(err) {
console.log('saved');
if (err) console.log(err);
res.json(moment);
});
}
})
};
Схема
var MomentSchema = new Schema({
name: {
type: String,
trim: true,
default: '',
required: true
},
username: {
type: String,
required: true
},
startTime: {
type: Date,
trim: true,
required: true
},
endTime: {
type: Date,
trim: true,
required: true
},
comments: {
type: Array
}
});
Этот код не работает сам по себе, хотя ... –
Вы пытались сравнить момент после завершения сохранения? например time.save (function (err, newdoc) {console.log (newdoc.toObject()}), чтобы увидеть, как он выглядит после сохранения? Это может быть его сохранение, но игнорирование ваших добавлений, потому что ваша схема слишком строгая – chriskelly
Done, @ JohnnyHK. – Tillson