Meteor发布null或未命名的记录集

时间:2016-02-14 06:02:42

标签: meteor

在流星中成为javascript和乖乖宝贝的新手。阅读文档的this part,我没有意义。关于Meteor.publish(name, func)

  

参数
  name String
  记录集的名称。如果为null,则该集合没有名称,并且记录集将自动发送到所有连接的客户端。

我认为记录集意味着Meteor Collection,如果这是正确的,那么如何在名为“null”的集合上发布发布操作,甚至是如上所述没有名称的集合?我的意思是,如果第一个参数“that collection name”为null或不存在,那么要发布的集合在哪里?感谢

2 个答案:

答案 0 :(得分:1)

name中的Meteor.publish参数与集合完全无关。虽然惯例是您应该对您正在使用的集合进行类似的命名,但您可以直接调用发布函数" asdjfsaidfj"它会有效。正如yudap所说,您发送给客户端的数据完全由函数决定。您还可以使用数组从多个集合返回数据:

return [
    ExampleCollection.find(),
    AnotherCollection.find()
];

答案 1 :(得分:0)

如果使用null参数发布数据:

Meteor.publish(null, func)

基本上它与您自动发布没有自动发布包相同。这意味着您不需要订阅,也不需要安装autopublish包。数据在客户端和被动状态下已准备就绪,您可以在任何模板中使用它而无需订阅。

要发布的集合在哪里?无论您想要自动发布什么样的集合。只需在func中定义它:

Meteor.publish(null, function () {
  CollectionName.find({}, {
    /*
    sort: Sort specifier,
    skip: Number,
    limit: Number,
    fields: Field specifier,
    reactive: Boolean,
    transform: Function
    */
  });
});