Meteor发布空记录集或未命名记录集

Meteor发布空记录集或未命名记录集,meteor,Meteor,刚接触javascript和《流星》中乖戾的婴儿。我读不懂这些文件。关于Meteor.publish(名称,函数) 参数 名称字符串 记录集的名称。如果为null,则该集没有名称,记录集将自动发送到所有连接的客户端 我认为记录集意味着Meteor集合,如果这是正确的,那么发布操作如何在一个名为“null”的集合上发生,甚至在一个没有名称的集合上发生?我的意思是,如果第一个参数“thecollection name”为null或不存在,那么要发布的集合在哪里?如果您发布带有空参数的数据,请感谢:

刚接触javascript和《流星》中乖戾的婴儿。我读不懂这些文件。关于Meteor.publish(名称,函数)

参数
名称字符串
记录集的名称。如果为null,则该集没有名称,记录集将自动发送到所有连接的客户端


我认为记录集意味着Meteor集合,如果这是正确的,那么发布操作如何在一个名为“null”的集合上发生,甚至在一个没有名称的集合上发生?我的意思是,如果第一个参数“thecollection name”为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
    */
  });
});

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

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

“记录集意味着流星收藏”?不完全是。对于一个相关的问题,有一个很好的答案,它澄清了记录集、流星收藏、mongo收藏等之间的关系。在阅读了这个答案之后,您引用的文档似乎更加清晰。