流星收藏(和出版)混乱

时间:2017-01-18 01:12:51

标签: mongodb meteor

所以我有一个叫Party的系列(我正在做角度流星教程)。我已经删除了自动发布,因此在服务器上,我已经声明了这样的内容:

Meteor.publish('parties', function () {
    return Parties.find({secret: false});
});

我已经在我的所有人中声明了双方的声音。目录,为const Parties = new MongoObservable.Collection<Party>('parties');

现在,假设我在mongoDb中有3个文件,但其中一个是秘密是真的。因此,考虑到这一点,我认为缔约方在查询.find({})时仍会返回3份文件。但是,它只返回 2 。为什么是这样?我认为缔约方只是一个全球变量,不会受到我的发布声明的影响。

1 个答案:

答案 0 :(得分:1)

缔约方是一个变量,意味着两件事:

  1. 在服务器上时,它会创建对mongo集合的引用
  2. 在客户端上,它创建了对minimongo的引用并在其中定义了一个集合
  3. 发布时,指定过滤条件,指示将在客户端上将数据库中的哪些数据发布到最小化。客户端上的find()引用了minimongo,即发布的数据,而不是完整的数据库。

    根据您的查询,客户端看到2条记录是正确的。

    编辑:

    这是一款适合您浏览器的便捷工具;它可以向您显示已发布给客户的数据。

    https://atmospherejs.com/meteortoys/allthings