插入新对象时 Meteor 0.8.2 客户端集合为空
Posted
技术标签:
【中文标题】插入新对象时 Meteor 0.8.2 客户端集合为空【英文标题】:Meteor 0.8.2 client collection is empty when insert a new object 【发布时间】:2014-08-25 08:47:09 【问题描述】:我正在开发一个使用流星 0.7.2 的项目,它运行良好。更新到 meteor 0.8.2 后,我遇到了一个问题。
当我立即从客户端向集合中插入一个对象时,集合为空,然后它正在重新加载数据。当我更新集合对象时,有时也会发生这种情况。
这只发生在一个集合上。其他集合工作正常。
我正在使用 iron-router 和 JQuery Sortable。
有人可以帮我解决这个问题吗? (我觉得在插入或更新时minimongo和master之间发生了冲突。如果是这种情况,为什么会发生这种情况)
【问题讨论】:
你能分享一些你的代码吗?尤其是发布、订阅、模式和插入 我的猜测是 - 0.7.2 使用了 Spark,0.8.2 使用了新的渲染引擎 Blaze。因此,在新的渲染引擎 Blaze 上,您的 jQuery-Sortable 集成被破坏了。 不确定它如何影响收集状态。 【参考方案1】:如果您可以共享可以重现该行为的代码,那就太好了。 您可以创建一个只有此集合的新流星 0.8.2 应用程序,看看您是否能够隔离错误。
顺便说一句,有这个问题的集合的名称是什么?
【讨论】:
【参考方案2】:你确定它是空的吗? mongo上也是空的吗?如果不是,请尝试在客户端创建 CollectionName.find(),例如在 Chrome 控制台中。
您是否删除了不安全和自动发布?如果您在客户端使用插入,则必须记住在服务器端使用 Meteor.allow 进行该集合。
【讨论】:
【参考方案3】:您可以通过添加以下流星包来查看订阅的数据
流星添加 msavin:mongol
安装后,按 Control + M 切换。
其他详情https://github.com/msavin/Mongol
或下载this并安装并使用凭据运行。您可以检查本地数据库
【讨论】:
以上是关于插入新对象时 Meteor 0.8.2 客户端集合为空的主要内容,如果未能解决你的问题,请参考以下文章