Jadi misalkan Anda memiliki skema seperti ini:
{
_id,
text
}
Saya kira _id adalah mongo ObjectId, jadi kami berisi tanggal posting dan saya dapat mengurutkannya
Mari kita pertimbangkan bahwa saya telah membuka posting saat ini dengan id sama dengan ObjectId( "43cc63093475061e3d95369d")
(alih-alih ini saya akan menggunakan curId
) dan saya perlu tahu yang berikutnya dan sebelumnya. Juga mari kita pertimbangkan bahwa kita perlu mendapatkan semua posting satu per satu yang diurutkan berdasarkan tanggal pembuatan turun:
Dapatkan posting berikutnya Anda dapat menyukai ini:
db.posts.find({_id: {$gt: curId}}).sort({_id: 1 }).limit(1)
Dapatkan posting sebelumnya Anda dapat menyukai ini:
db.posts.find({_id: {$lt: curId}}).sort({_id: -1 }).limit(1)
Beberapa hal:
- Jika Anda tidak menggunakan mongodb
ObjectId
kode di atas tidak akan berfungsi untuk Anda, tetapi Anda masih dapat menggunakanpostDate
alih-alih id dan postDate posting saat ini alih-alihcurId
. - Hati-hati dengan urutan saat mendapatkan posting berikutnya/sebelumnya, untuk mengambil posting berikutnya Anda perlu mengurutkan asc, untuk mengambil posting sebelumnya Anda perlu mengurutkan desc.
- Saya tidak familiar dengan luwak, jadi skrip di atas adalah skrip shell mongodb.