RavenDB推送通知:未包含实际文件?

Bob*_*orn 3 ravendb

我已经使用RavenDB 成功实现了推送通知(参见下面的代码).我期待实际文档包含在更改通知中.这样,所有UI客户端都可以显示信息.但是,似乎只有Id和Etag属性可用于更改的文档.

如果我希望客户端能够显示有关文档的信息,我该怎么办?客户端现在是否需要进行数据库调用以根据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));
        }
});
Run Code Online (Sandbox Code Playgroud)

Aye*_*ien 6

是的,您需要调用db来获取新文档.这样做的原因是,如果您需要的只是变更通知,那么发送文档(可能非常大)会很昂贵.