不同的userId与服务器获取相同的文档发布this.userId

时间:2016-03-25 16:56:54

标签: meteor

删除自动发布包时,当此Meteor代码运行时,已在2个不同的浏览器控制台上Meteor.userId();确认了另一个userId。 但是当在其中一个的inputText中键入一个字符串,并且collection.insert完成后,另一个显示相同的字符串。
我认为this.userId足够好,服务器只能同时发布属于每个不同客户端的文档。

为什么会发生这种情况以及如何解决?感谢

服务器

Meteor.publish('displayCol', function () {
  return DisplayCol.find({userId: this.userId});
});
DisplayCol.before.insert(function (userId, doc) {
  doc.userId = userId;
});

客户端

Template.index.helpers({
  taskInputs: function () {
    var ready = Meteor.subscribe('displayCol').ready();
    var data = DisplayCol.find({});
    return {items: data, ready: ready};
  }
});

1 个答案:

答案 0 :(得分:0)

您是否还安装了自动发布?如果是这样,两个客户将自动获得所有内容。使用'流星删除自动发布' 您还可以在客户端添加{userId:Meteor.userId()}条件。