Мангуст-вставить документ со связанными

У меня есть две модели, связанные следующим образом:

var ModelASchema = new Schema({
  modelB:  { type : Schema.ObjectId, ref : 'ModelB', required : true},
});

var ModelBSchema = new Schema({
  text: { type: String }
});

Я пытаюсь сохранить новый экземпляр ModelA с новым экземпляром ModelB внутри него :

var modelA = new ModelA({
        modelB: new ModelB({text: 'new text'})
    })
modelA.save(function(err){})

Странная вещь заключается в том, что ModelA сохраняется в БД с ObjectID, но новый экземпляр ModelB не сохраняется.

Есть ли способ вставить оба документа и соединить их с одним сохранением или я должен сначала сохранить ModelB, а затем сохранить его в ModelA.

1 ответ

  1. Вы должны сначала сохранить ModelBкак, потому что вы используете в качестве ссылки в ModelAвы не можете сохранить его таким образом.

    Когда вы сохраняетеModelA, он не находит рефренсаModelB, поэтому он сохраняет только ModelAс _id