Así que supongamos que tiene un esquema como este:
{
_id,
text
}
Supongo que _id es mongo ObjectId, por lo que contiene la fecha de publicación y puedo ordenarla
Consideremos que he abierto la publicación actual con una identificación igual a ObjectId( "43cc63093475061e3d95369d")
(en lugar de esto usaré curId
) y necesito saber el siguiente y el anterior. También consideremos que necesitamos obtener todas las publicaciones una por una ordenadas por fecha de creación de forma descendente:
Obtenga la próxima publicación que le puede gustar:
db.posts.find({_id: {$gt: curId}}).sort({_id: 1 }).limit(1)
Obtén una publicación anterior, te puede gustar esta:
db.posts.find({_id: {$lt: curId}}).sort({_id: -1 }).limit(1)
Pocas cosas:
- Si no usa mongodb
ObjectId
el código anterior no funcionará para usted, pero aún puede usarpostDate
en lugar de id y publicación actual postDate en lugar decurId
. - Tenga cuidado con el orden al obtener las publicaciones siguientes/anteriores, para recuperar la siguiente publicación necesita ordenar asc, para recuperar la publicación anterior necesita ordenar desc.
- No estoy familiarizado con mongoose, por lo que los scripts anteriores son scripts de shell mongodb.