我正在尋找使用MeteorJS實現以下任務的最佳方法。MeteorJS中的相同集合的幾個訂閱
要求如下:包含項目的列表,以及包含選定項目的側欄(不必從當前頁面列表中選擇)。
我需要發送相同的項目收集的兩件到客戶端:
- 項列表的當前頁面
- 一個項目爲側欄
我應該執行什麼與出版物/訂閱跳舞?
這對我來說並不明顯如何正確地做到這一點。
目前我已經爲列表和選定的項目添加了兩個發佈,訂閱了它們在客戶端。因此,當我在客戶端上完成Items.find()以填充列表時,它返回列表頁面項目+所選項目(「項目5」出現在第一頁上)。
這是確定,當所選的項目應該是列表(「項目2」)的當前頁面上,但它不是OK時,選擇的項目不應該存在,並且已添加到當前頁面反正(「項目5」 )。
我也會使用兩個pub/sub。首先是列出你的物品。然後你想把選擇的項目的ID保存在一個數組中,你可以使用'Session.get'和'Session.set'來存儲它。你的第二個酒吧將採取一個參數,這將是該陣列。並且會返回所有位於該數組中的ID的文檔。 –
@KassymDorsel是的,但是如果你有來自同一個集合的酒吧,當你在客戶端做Items.find()時,你會從兩個酒吧收到_merge_項目......對吧?那就是我所面對的。列表包含不應該在那裏的項目。 – Artin
如果我添加代碼段,理解我的問題會有幫助嗎? – Artin