Meteor Subscribe no actualiza el orden de clasificación de la colección

// Snippet from Template 
{{#each elements}} {{> post-element this}} {{/each}}
// Snippet from Client Meteor.subscribe('thePosts'); // Snippet from Server Meteor.publish('thePosts', function(){ return Posts.find({}, {sort:{createdAt:-1}, reactive:true}); });

Cuando lo hago…

 Posts.insert({body:postBody, createdAt: new Date()}); 

El documento de publicación se agrega y aparece al final de mi lista, en oposición al orden descendente como se especifica en mi función de publicación. ¿Alguna idea de lo que estoy haciendo mal?

¡Gracias!

La función de publicación determina qué registros se deben sincronizar con la base de datos mini-mongo de cualquier cliente suscrito. Por lo tanto, ordenar los datos en la función de publicación en realidad no tiene ningún efecto en el cliente, ya que es probable que la base de datos del lado del cliente los almacene de alguna otra manera.

Por supuesto, es posible que desee utilizar ordenar en el buscador de un editor para limitar el número de registros al N más reciente, pero de nuevo esta es solo una forma de decidir qué registros se sincronizan y no cómo deben almacenarse / usarse por el cliente.

Una vez que los registros se han sincronizado con el cliente, depende del código de la plantilla determinar cómo se deben mostrar los resultados. Por ejemplo:

 Template.myTemplate.elements = function() { return Posts.find({}, {sort: {createdAt:-1}}); } 

También vea la sección “publicación ordenada” de mi publicación sobre errores comunes .

No ha publicado su código auxiliar de plantilla.

Cuando return Posts.find() desde la función auxiliar, la consulta también debe contener los argumentos sort, como se muestra a continuación:

 Template.myTemplate.elements = function(){ Meteor.subscribe('thePosts'); return Posts.find({}, {sort:{createdAt:-1}, reactive:true}); }