Добрый день! Вопрос будет основываться на достаточно простом примере. Есть вот такие модели:
var mongoose = require('mongoose')
, Schema = mongoose.Schema
var storySchema = Schema({
title : String,
author : { type: Schema.Types.ObjectId, ref: 'Author' }
});
var authorSchema = Schema({
name : String,
age: Number
});
var Story = mongoose.model('Story', storySchema);
var Author = mongoose.model('Author', authorSchema);
То есть у нас есть истории и авторы(модели просто для примера). Теперь пишется Create, у которого нет никаких особых проблем для выполнения:
var newStory = new Story({
title: story_title,
author: author_id
});
newStory.save(function(err){
if(err) throw err;
...
});
Мой вопрос: как можно обновить этот документ?
Я использую следующий способ, но как я понимаю, он не верен ввиду того, что от меня ожидается ObjectID:
Story.findOneAndUpdate({ id:story_id }, { title: story_title, author: author_id }, function(err, repertoire){
if(err) throw err;
...
});
Пробовал конвертацию вида
mongoose.Types.ObjectId(author_id), результат - документ не обновляется. Может дело не в этом? Буду благодарен за вашу помощь.