私の質問は本当に単純ですが、残念ながらどこにも見つかりませんでした。
たとえば、マップのコレクションがあり、 Meteor.user().profile.mapsId を使用して、そのユーザーがそのマップを表示できるかどうかを確認しています。
最初のアプローチ:
サーバー/server.js
Meteor.publish('map', function (mapOwner) {
var user = Meteor.user();
var mapId = user.profile.mapId;
return Map.find({mapOwner: mapId});
});
パブリッシュが Meteor.user(); を受け入れないため、機能しませんでした。
2 番目のアプローチ:
サーバー/server.js
Meteor.publish('map', function (mapOwner) {
return Map.find({mapOwner: Meteor.call('mapsCall')});
});
コレクション/maps.js
Map = new Meteor.SmartCollection('map');
Meteor.methods({
mapsCall: function() {
var user = Meteor.user();
var startupId = user.profile.startupId;
return startupId;
}
});
Map.find().fetch() を呼び出すと、何もありません..
正しいアプローチは何ですか?