繁体   English   中英

Meteor.js发布和订阅2

[英]Meteor.js Publishing and Subscribing 2

我最近对同一主题有另一个问题(后代: Meteor.js Publishing and Subscribing? )。

我有一个测试流星网站。 我在根目录下的文件中具有以下内容:

/** 
* Models
*/

Posts = new Meteor.Collection('posts');


posts = Posts;

if (Meteor.isClient) {

    Meteor.subscribe('posts');

}

if (Meteor.isServer) {

    Meteor.publish('posts', function() {
        return posts.find({}, {time:-1, limit: 100});
   });


    posts.allow({

        insert: function (document) {
            return true;
        },
        update: function () {
            return false;
        },
        remove: function () {
            return false;
        },

    });

}

发生的事情是我进行了编辑,但它停止了工作(在开发服务器上:localhost:3000)。 我恢复了编辑,但是我猜有些改变了,因为它不再起作用了。

客户确实有权访问集合(帖子列表),所以这不是问题。

问题是客户提交帖子的秒数,列表中出现的秒数,然后消失。

这似乎与客户端没有发布权时的行为类似,但是正如您在上面看到的,我已经给出了。

当我在Chrome中转到JS控制台时,没有出现“拒绝访问”或错误的提示。

当我尝试从控制台“添加帖子”时,会发生相同的行为。 闪烁,然后消失了。

这是怎么回事? 仅仅是奇怪的流星故障吗? 任何帮助表示赞赏。

编辑

好吧,显然是某种内部流星故障。 “流星重置”解决了代码本身没有更改的问题。

所以我想问题解决了!

编辑2

问题没有解决。 它又出现了。

一旦帖子数达到一定阈值,似乎就拒绝了它们,这使我相信这与“限制”有关。

有什么帮助吗?

假设您的客户在其本地缓存中有100个帖子。 然后,当客户端插入新帖子时,它将直接插入到客户端缓存中(因此现在确实包含101个帖子),并在后台将其发送到服务器。 服务器将其插入到真实数据库中,然后告诉客户端删除其缓存的帖子之一,因为它应该仅在缓存中存储100个帖子。 这可能是您正在发生的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM