@Fengol

Как автоматизировать замену ObjectId на документ?

const EmbeddedInformationSchema = Schema({
    description: String
});
const UserSchema = Schema({
    informations: [EmbeddedInformationSchema]
})
const EmbeddedInformation = mongoose.model('EmbeddedInformation', EmbeddedInformationSchema);
const User = mongoose.model('User', UserSchema);

const run = async ()=>{
    await mongoose.connect('mongodb://localhost/test');
    await mongoose.connection.db.dropDatabase();

    await EmbeddedInformation.create({description: 'a'});
    await EmbeddedInformation.create({description: 'b'});

    let informationAll = await EmbeddedInformation.find();

    let user = await User.create({informations: informationAll.map(item=>item._id)});

    console.log(user); 
}

run().catch(console.error)


Как автоматизировать встраивание документа таким образом, чтобы в консоли вывело следующее?
{informations: [{description: 'a'}, {description: 'b'}]}


И самое главное, мне нужно подменять документы только тогда, когда EmbeddedInformation сохраняется именно в User.

Кроме того, я знаю какэто сделать с помощью логики в хуках, но возможно есть способуказать именно на уровнетемы или при вызове методов (save, create..)?
  • Вопрос задан
  • 33 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы