我已成功实现 push notifications使用 RavenDB(见下面的代码)。我期待实际文档包含在更改通知中。这样,所有 UI 客户端都可以显示信息。但是,似乎只有 Id 和 Etag 属性可用于更改的文档。
如果我想让客户端能够显示有关文档的信息,我应该怎么做?客户端现在是否需要根据ID调用DB来获取文档?必须调用DB来获取信息似乎效率低下。但是,这是应该发生的事情吗?
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));
}
});
最佳答案
是的,您需要调用数据库来获取新文档。 这样做的原因是,如果您只需要有关更改的通知,那么发送文档(可能非常大)会很昂贵。
关于RavenDB 推送通知 : Actual document not included?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16122146/