Supposons donc que vous ayez un schéma comme celui-ci :
{
_id,
text
}
Je suppose que _id est mongo ObjectId, donc il contient la date de publication et je peux trier dessus
Considérons que j'ai ouvert le message actuel avec un identifiant égal à ObjectId( "43cc63093475061e3d95369d")
(au lieu de cela, j'utiliserai curId
) et j'ai besoin de connaître le suivant et le précédent. Considérons également que nous devons obtenir tous les articles un par un, classés par date de création décroissante :
Obtenez le prochain post que vous pouvez aimer :
db.posts.find({_id: {$gt: curId}}).sort({_id: 1 }).limit(1)
Obtenez le message précédent, vous pouvez aimer ceci :
db.posts.find({_id: {$lt: curId}}).sort({_id: -1 }).limit(1)
Peu de choses :
- Si vous n'utilisez pas mongodb
ObjectId
le code ci-dessus ne fonctionnera pas pour vous, mais vous pouvez toujours utiliserpostDate
au lieu de l'identifiant et de la publication actuelle postDate au lieu decurId
. - Faites attention à l'ordre lorsque vous obtenez les messages suivants/précédents, pour récupérer le message suivant, vous devez trier l'asc, pour récupérer le message précédent, vous devez trier la description.
- Je ne suis pas familier avec la mangouste, donc les scripts ci-dessus sont des scripts shell mongodb.