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