自分のブログプラットフォームにmongodbを使用しています。ユーザーは自分のブログを作成できます。すべてのブログからのすべてのエントリーはエントリーコレクションにあります。エントリのドキュメントは次のようになります。Mongodb:各グループの上位N行を選択してください
{
'blog_id':xxx,
'timestamp':xxx,
'title':xxx,
'content':xxx
}
質問によると、各ブログの最後の3つのエントリを選択する方法はありますか?
あなたのアイデアを得ました。私はそんなことは考えなかった。新しい投稿を作成するときに追加の更新が問題になることはありません。しかし、ユーザーが投稿を削除すると、他のすべての投稿の「年齢」フィールドを更新する必要があります。その更新は、削除された投稿に「年齢」<= 3が設定されている場合にのみ発生するように制限できます。私は何か不足していますか? – Tacaza
はい、年齢が<3になるように更新を制限するべきではありません。これは、年齢が重複してしまうためです。インプレースアップデートは非常に高速ですので、問題ではありません。削除とは、エントリを削除し、age> deleted_post.ageの場合は年齢を1ずつ減らすことを意味します。がんばろう。 –
これは絶対に意味があります。あなたの提案をありがとう! – Tacaza