2
だから、私は3人のブロガーがいるとしましょう。それぞれにはたくさんの投稿があります。コレクション内の各ブロガーの最新投稿を選択してください
それぞれ最新の投稿を選択します。
現在、私は、この擬似コードを持っている:
ここBloggers.find({name: {$in: ['John','Mike','Arny']}}, (err, bloggers) => {
bloggers.forEach(blogger => {
blogger.latest_post = Posts.find({author: blogger.name}).sort({date: -1}).limit(1);
})
displayItSomehow(bloggers);
})
、ブロガーの名前は、グループの名前です。各グループには多数のドキュメントがありますが、いくつかの基準に合わせて1つだけ必要です。
このようなブロガーコレクション:
{name: 'John', id: 1},
{name: 'Mike', id: 2},
{name: 'Arny', id: 3}
投稿コレクション:
{ title: 'title1', text: 'blablabla', date: 111, author: 1 },
{ title: 'Nowadays football became...', text: 'blablabla', date: 112, author: 1 },
{ title: 'title1', text: 'blablabla', date: 113, author: 2 },
{ title: 'The story of my neighbor starts when...', text: 'blablabla', date: 114, author: 2 },
{ title: 'title1', text: 'blablabla', date: 115, author: 3 },
{ title: 'title1', text: 'blablabla', date: 116, author: 3 },
{ title: 'Business and success are always were...', text: 'blablabla', date: 117, author: 3 }
結果は次のようにする必要があります:
John: 'Nowadays football became...'
Mike: 'The story of my neighbor starts when...'
Arny: 'Business and success are always were...'
だから、どのように私はマングースに実際に私の問題を解決することができます? 1つのクエリで可能ですか? http://mongoosejs.com/docs/api.html#model_Model.populate
あなたBloggers
を定義する場合にのみ、動作します。ここでは
Bloggers
.find({name: {$in: ['John','Mike','Arny']}})
.populate({
path: 'posts',
options: {
limit: 1,
sort: {date: -1}
}
})
.exec((err, bloggers) => {
displayItSomehow(bloggers);
})
})
が移入機能にconfigオブジェクトのためのドキュメントへのリンクです:
ブロガーと投稿の投稿にサンプルコレクションを追加してください – Veeram
帽子はよかった?) –