2013-04-20 50 views
3

我已經用RavenDB成功實現了push notifications(請參閱下面的代碼)。我期待將實際文檔包含在更改通知中。這樣,所有的UI客戶端都可以顯示這些信息。但是,似乎只有Id和Etag屬性可用於更改的文檔。RavenDB推送通知:不包括實際文檔?

如果我希望客戶端能夠顯示有關文檔的信息,我應該怎麼做?客戶現在是否需要進行數據庫調用才能根據ID獲取文檔?要讓數據庫調用獲取信息似乎效率不高。但是,這是應該發生什麼?

documentStore.Changes() 
    .ForDocumentsStartingWith("LogMessages") 
    .Subscribe(change => 
    { 
     if (change.Type == DocumentChangeTypes.Put) 
     { 
      // Fire event so consumers can display document info 
      // Uh oh, are change.Id and change.Etag all we have here? 
      DatabaseItemAdded(null, new EventArgs<string>(change.Id)); 
     } 
}); 

回答

6

是的,你需要調用數據庫來獲取新文檔。 原因是,如果您需要的僅僅是關於更改的通知,那麼發送文檔(可能非常大)將會很昂貴。