У меня есть три схемы, одна из которых ссылается на две другие:
userSchema
{ name: String }
postSchema
{ content: String }
commentSchema
{
content: String,
user: { ObjectID, ref: 'User' },
post: { ObjectID, ref: 'Post' }
}
Как я могу заполнить эту базу данных разумным, масштабируемым способом? Даже при использовании обещаний синей птицы писать быстро становится кошмаром.
Моя попытка до сих пор включает в себя несколько вложенных обещаний, и ее очень трудно поддерживать:
User
.create([{ name: 'alice' }])
.then(() => {
return Post.create([{ content: 'foo' }])
})
.then(() => {
User.find().then(users => {
Post.find().then(posts => {
// `users` isn't even *available* here!
Comment.create({ content: 'bar', user: users[0], post: posts[0] })
})
})
})
Это явно не правильный способ сделать это. Чего мне не хватает?