簡體   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