したがって、次のようなスキーマがあるとします。
{
_id,
text
}
_idはmongoObjectIdだと思うので、投稿日が含まれていて、並べ替えることができます
ObjectId( "43cc63093475061e3d95369d")
に等しいIDで現在の投稿を開いたとしましょう (これの代わりに、curId
を使用します )そして私は次のものと前のものを知る必要があります。また、作成した日付の降順ですべての投稿を1つずつ取得する必要があることも考慮してください。
あなたがこれを好きになることができる次の投稿を取得します:
db.posts.find({_id: {$gt: curId}}).sort({_id: 1 }).limit(1)
あなたがこれを好きになることができる前の投稿を入手してください:
db.posts.find({_id: {$lt: curId}}).sort({_id: -1 }).limit(1)
いくつかのこと:
- mongodb
ObjectId
を使用しない場合 上記のコードは機能しませんが、postDate
は引き続き使用できます。 idの代わりに、curId
の代わりに現在の投稿postDate 。 - 次/前の投稿を取得するときは順序に注意してください。次の投稿を取得するには、並べ替えascが必要です。前の投稿を取得するには、並べ替えdescが必要です。
- 私はマングースに精通していないので、上記のスクリプトはmongodbシェルスクリプトです。