find (). populate () против find (). find () в мангусте - PullRequest
0 голосов
/ 25 января 2020

Мне было интересно, в чем разница между использованием populate и использованием методов поиска в mon goose ORM.

Допустим, у меня есть две модели. 1. Пользователь и 2.Post

mongoose.model('User', mongoose.Schema({
user : {type: String},
posts : [type: mongoose.SchemaTypes.ObjectId, ref: 'Post'}]
}))

и модель сообщения

mongoose.model('Post', mongoose.Schema({
user : {type: mongoose.SchemaTypes.ObjectId, ref: 'User'},
title : {type: String},
body : {type:String}
}))

Я хочу создать все сообщения Пользователь . Я могу сделать либо:

User.findById({_id:req._id}).then(currentUser => Post.find({user._id: currentUser}) ........

Или:

User.findById({_id:req._id}).populate('posts')

Какой из способов правильный? Какая разница между двумя?

...