RavenDB 推送通知 : Actual document not included?

标签 ravendb

我已成功实现 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/

相关文章:

asp.net - RavenDB ASP.NET session 提供程序?

c# - RavenDB 加载相关数据不起作用

ravendb - 如何让 RavenDB 识别插件?

ravendb - 使用 RavenDB 进行调试非常慢

mongodb - 选择 MongoDb/CouchDb/RavenDb - 性能和可扩展性建议

c# - 在 StructureMap 中使用 Registry 创建可插拔架构

第二次尝试后 RavenDB 查询正确结果

c# - 如何在 Raven 中获取 DocumentStore 事件 session 数?

indexing - 是否可以在 RavenDb 5+ 中计算时间序列的移动平均线/EMA/窗口聚合?

c# - 从 raven db 文档存储加载对象时如何防止属性被序列化