0
私は、クライアントに公開したくないフィールドを持つMeteorコレクションを持っています。しかし、私はコレクションをこのフィールドでソートするようにしたいと思います。サーバーからの並べ替え順序はクライアント上で維持されないため、これをどのように達成できますか?クライアント上で流星の公開機能の順序を維持する
私は、クライアントに公開したくないフィールドを持つMeteorコレクションを持っています。しかし、私はコレクションをこのフィールドでソートするようにしたいと思います。サーバーからの並べ替え順序はクライアント上で維持されないため、これをどのように達成できますか?クライアント上で流星の公開機能の順序を維持する
少しの研究の後、私は解決策を見つけました。私はサーバー上でソートを行い、公開前に「注文」フィールドを含むように文書を変換します。サーバー上で
:
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});
が答えを追加したり、これを達成する良い方法があるかどうコメントしてください。