Meteor.users.findOne适用于console.log但不适用于发布?

时间:2017-12-04 06:38:31

标签: meteor

我发布我的当前用户:

Meteor.publish('currentUser', function() {
  return Meteor.users.find(
    { _id: this.userId },
    { fields: { groups: 1, name: 1 } },
  );
});

它的工作但我相信findOne效率更高。以下console.log工作但返回Meteor.users.findOne不起作用:

Meteor.publish('currentUser', function() {
  const test = Meteor.users.findOne(
    {},
    { fields: { groups: 1, events: 1, name: 1 } },
  );
  console.log(test); // this works 

  // This doesn't work 
  return Meteor.users.findOne(
    {},
    { fields: { groups: 1, events: 1, name: 1 } },
  );
});

1 个答案:

答案 0 :(得分:0)

Meteor docs声明该出版物应该是两件事之一:

  1. 光标
  2. 游标数组(不同集合)
  3.   

    发布函数可以返回Collection.Cursor,在这种情况下是Meteor   将光标的文档发布到每个订阅的客户端。您   也可以返回一个Collection.Cursors数组,在这种情况下是Meteor   将发布所有游标。

    GemFire会返回一份文件。所以我想它不起作用。