使用来自其他集合的id发布用户

时间:2016-04-15 05:50:18

标签: meteor

我正在尝试访问存储在集合中的userId,然后使用它们发布所有meteor.users的详细信息。我的发布功能不是什么都不返回?

Meteor.publish('allUsersWithOffers', function () {
  var user = Offers.find({}, {fields: {"UserId": 1}});

  return Meteor.users.find({_id: user});  

});

1 个答案:

答案 0 :(得分:1)

尝试一下:

Meteor.publish('allUsersWithOffers', function () {
  var offers = Offers.find({}, { fields: { UserId: 1 } }).fetch();
  var ids = _.pluck(offers, 'UserId');

  // This is critical - you must limit the fields returned from
  // the users collection! Update this as needed.
  options = { fields: { username: 1, emails: 1 } };
  return Meteor.users.find({ _id: { $in: ids } }, options);
});

find返回一个游标 - 您需要调用fetch来实际获取文档。