2014-10-17 10 views
10

Ho la seguente pubblicazione:meteora pubblicare con limite e ordinare

Meteor.publish('times', function() { 
    return Times.find({}, {sort: {createdAt: -1}}, {limit: 5}); 
}) 

Ciò restituisce tutti i record, il limite viene ignorato. Tuttavia questo

Meteor.publish('times', function() { 
    return Times.find({}, {limit: 5}); 
}) 

restituisce 5 record, ma nell'ordine errato. Come posso limitare e ordinare in una pubblicazione?

risposta

19

Vedere l'esempio nella sezione forEach dei documenti e la documentazione per find. limit è una chiave dell'oggetto options, quindi dovrebbe essere:

Times.find({}, {sort: {createdAt: -1}, limit: 5}); 

Si noti che se si desidera che i documenti in modo ordinato sul client, è necessario sort them again nel codice modello.

+1

Avrebbe dovuto leggere i documenti più attentamente ...! Grazie – user1048175