私はMeteor and Angular 2を初めて使用しています。私はクライアント内のすべてのユーザーのリストに苦労しています。Meteor Angularすべてのユーザーを取得
users.tsしかし、これも呼ばれていません
import {Meteor} from 'meteor/meteor';
Meteor.publish('usersList', function() {
console.log('Publish from server ');
return Meteor.users.find({_id: {$ne: Meteor.userId()}});
});
を:私の知る限り理解されるように、私は自分のサーバー上で公開し、私は次の方法をした私のクライアント、上で購読することがあります。私はこのファイルを私のmain.tsにインポートしています。すべてのユーザーを獲得するためには、どのように公開するべきかわかりません。
Meteor-Angular2 tutorialに従って別のコレクションを作成しました。 wishes.ts
import {Meteor} from 'meteor/meteor';
import {Wishes} from '../../../both/collections/wishes.collection';
Meteor.publish('wishList', function() {
console.log("wishlist "+this.userId);
return Wishes.find(buildQuery.call(this));
});
function buildQuery(): Object {
const isAvailable = {
$and: [{
owner: this.userId
}, {
owner: {
$exists: true
}
}]
}
return isAvailable;
}
私は、サーバーの私のmain.tsでそれを呼び出すと、それが働いている:ファイルは次のようです。私はファイルの1つがなぜ呼び出されているのか、そしてなぜ他のものがないのか分かりません。どんな方向にも感謝します!
残念ながら、( 'userList'を購読した後の)クライアントのMeteor.users.find({})は、現在ログインしているユーザーのみを返します。 –
クライアントは、Meteor.users.find({})を使用して、クライアント側からアクセス可能なコレクションを作成するか、クライアント側でメッセージを直接クライアント側に送信します。 Meteor.users.find({})をクライアント側で使用すると、残りのことを知らないため現在のユーザーが返されます。 –