2013-06-25 22 views
1

有沒有辦法將相同服務器集合的訂閱存儲在不同的minimongo集合中?我可以將訂閱存儲在名稱與服務器上名稱不同的訂閱集上嗎

如果還沒有最佳做法可以解決?

我有一個彙總表,其中包含50k數據集,其中包含許多文檔中的詳細信息。

// Server 
var collection = new Meteor.Collection("collection"); 
Meteor.publish("detail", function (id) { 
    return collection.find({_id: id}); 
}); 
// A pager that does not include the data (fields:{data:0}) 
Meteor.publish("master", function (filter, sort, skip, limit) { 
    return collection.find({name: new RegExp("^" + filter + "|\\s" + filter, "i")}, 
          {limit: limit, 
          skip: skip, 
          sort: options, 
          fields: {data: 0} 
          }); 
}); 

// Client 
var collection = new Meteor.Collection("collection"); 
Deps.autorun(function() { 
    Meteor.subscribe("master", 
     Session.get("search"), 
     Session.get("sort"), 
     Session.get("skip"), 
     Session.get("limit") 
); 
    Meteor.subscribe("detail", Session.get("selection")); 
}); 

上面的問題:兩個訂閱都被送入同一個集合。

如果發現的結果存儲在同一個本地集合中,則這不起作用。

擁有訂閱/發佈名稱的本地集合會很棒。

// Client 
var detail = new Meteor.Collection("detail"), 
    master = new Meteor.Collection("master"); 

任何想法如何鼓勵訂閱使用我自己的收藏?

+0

** Discover Meteor **書籍在13.5章節詳細討論。我會考慮檢查出來。 –

回答

1

我找到了解決方案,通過安德魯斯的幫助提示發現流星書,顯示了很多發佈訂閱場景。

總之:看完後,我發現我正在駛往問題也回答了流星文檔Meteor.publish

最後一個例子基本上是「消息」集合創建一個虛擬集合「罪狀」的。做得好;-)

「Wer lesen kann ist im Vorteil!」