我的问题很简单,但不幸的是我在任何地方都没有找到。
例如,我有一组地图,我正在使用 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();
第二种方法:
服务器/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() 时什么都没有..
什么是正确的方法?