Předpokládejme tedy, že máte schéma jako toto:
{
_id,
text
}
Předpokládám, že _id je mongo ObjectId, takže obsahuje datum příspěvku a mohu podle něj třídit
Uvažujme, že jsem otevřel aktuální příspěvek s ID rovným ObjectId( "43cc63093475061e3d95369d")
(místo toho použiji curId
) a potřebuji vědět další a předchozí. Uvažujme také, že potřebujeme získat všechny příspěvky jeden po druhém seřazené podle data vytvoření sestupně:
Získejte další příspěvek, kterému můžete dát like:
db.posts.find({_id: {$gt: curId}}).sort({_id: 1 }).limit(1)
Získejte předchozí příspěvek, který se vám může líbit:
db.posts.find({_id: {$lt: curId}}).sort({_id: -1 }).limit(1)
Pár věcí:
- Pokud nepoužíváte mongodb
ObjectId
výše uvedený kód vám nebude fungovat, ale stále můžete použítpostDate
místo id a aktuální post postDate místocurId
. - Dejte si pozor na pořadí při získávání dalších/předchozích příspěvků, k načtení dalšího příspěvku potřebujete seřadit vzestupně, k načtení předchozího příspěvku potřebujete seřadit popis.
- Neznám mongoose, takže výše uvedené skripty jsou skripty prostředí mongodb.