2015-09-04 63 views
0

我正在嘗試在meteorJS中創建一個聊天應用程序,並且我正在考慮爲每個組動態創建一個單獨的集合,當他們發起聊天時,我想發佈並訂閱該集合以進行傳輸聊天信息和所有組用戶都可以訂閱它,但我無法動態創建集合。訂閱,發佈運行時發佈的動態集合

我試着做一個函數,當用戶訂閱集合時得到調用。

this.createDb =(name) -> 
    @ChatDb = new Mongo.Collection(name) 
    return true 

一切都很好,但是當我從客戶端訂閱此集合,ChatDb是未知的,任何一個能幫助我,那將是巨大的。 :)

PS-我寫在角流星框架

回答

0

Andrew Mao的答案代碼爲similiar question

在大多數情況下,你可能不希望創建多個 集合,而是使用一個集合,並根據其訂閱將其發送到 客戶端。

你可能要檢查出 https://github.com/mizzao/meteor-partitioner包我已經建立了其 是專爲這個目的,並且包括 如何爲多個聊天室做這樣的一個例子。您也可以參閱 https://github.com/mizzao/CrowdMapper瞭解實施示例。

我沒有做流星,而現在,所以我不能給你一個堅實的答案。但我清楚地記得,動態創建集合並不是實現你想要做的事情的推薦方式。