如果我使用 Meteor.publish 将文档推送到客户端集合(如“消息计数”示例中),那么当我在该客户端集合上插入/更新/删除时会发生什么(在文档中的示例)?考虑到服务器上甚至不存在“消息计数”集合,是否有任何东西到达服务器?在这种情况下,我们如何将文档更改传播到服务器?
注意:我已经看到@debergalis 的出色回答,他在其中详细解释了这个例子(这里:https ://stackoverflow.com/a/10566873/694222 ),这很有意义。但它没有涉及调用客户端集合(在他的示例中为“计数”)以插入/更新文档时会发生什么。
更新:
所以我自己尝试了一下,结果是这样的:如果我有一个名为 Counts 的客户端集合(使用 Meteor.publish 填充),那么 Counts.find 工作正常,但 Counts.insert 根本不起作用,说没有找到相关的 Meteor.method,这很好。
但现在我有一个新问题。如果我订阅的客户端集合与发布的服务器端集合具有相同的名称(我已经删除了自动发布流星包),那么执行插入客户端确实会传播到服务器端并将文档添加到服务器端 mongo。这显然是不能接受的。。
因此,基本上,具有相同名称的客户端集合(您传递给新 Meteor.Collection 的内容)可以成功更新具有相同名称的服务器端集合,即使关闭自动发布包也是如此。这是一个错误吗?