2

プロファイル ドキュメントのサブフィールドで並べ替えられた Facebook ベースのアカウントのリストを返すヘルパー メソッドを作成したいと考えています。ヘルパーは、サブフィールドと並べ替え順序を指定するために、2 つのセッション変数に依存する必要があります。セッション変数は UI を介して更新でき、リストが新しい順序で再レンダリングされます。何かのようなもの:

Session.set('sortby', "profile.email");
Session.set('sortorder', "-1");

Template.userlist.users = function() {
   Meteor.users.find({}, {sort:{Session.get('sortby'):Session.get('sortorder')}});
}

Session.get('sortby')ただし、プロパティ名として使用するとエラーが発生します。問題は、セッション変数を使用してソート フィールド名を指定するにはどうすればよいかということです。

4

2 に答える 2

0

Session.get('sortby')ソート指定子に直接配置すると、構文エラーが発生します。

クエリの前にブロックを使用して、セッションに含まれる値を見つけ、そのフィールド名をlikeif-elseの代わりにクエリに入れます。Session.get()

if( Session.equals('sortBy', 'profile_email') ){
   return  Meteor.users.find({}, {sort:{'profile_email':Session.get('sortorder')}});
} 
else if( Session.equals('sortBy', 'other_value') ) {
   return  Meteor.users.find({}, {sort:{'other_value':Session.get('sortorder')}});
}
于 2013-06-27T09:32:37.250 に答える