2016-09-16 76 views

回答

1

經過一點研究,我發現了一個解決方案。我在服務器上進行排序並在發佈之前將文檔轉換爲包含「訂單」字段。

在服務器上:

Meteor.publish('usersOrderedByPrivateField', function() { 
    var cursor = Meteor.users.find({}, {sort: {privateField: 1}); 
    var order = 0; 
    var self = this; 
    cursor.fetch().forEach(function (doc) { 
     doc.order = order++; 
     delete doc.privateField; 
     self.added("users", doc._id, doc); 
    }); 
    this.ready(); 
} 

和客戶端上:

Meteor.subscribe('usersWithPrivateFieldOrdering'); 
Meteor.users.find({},{sort:order:1}); 

請添加一個答案,或者是否有完成這個更好的方式發表意見。