我想编写自己的简单基于桌面的Ravendb Explorer,类似于Web UI。这主要是为了学习乌鸦。

因此,我的第一个任务是阅读DB中的所有文档,都不重要。我想使用客户端API来实现这一目标,但是似乎session.query和session.lucenequery需要类规范符。

我应该在此任务中使用什么API?

有帮助吗?

解决方案

客户端API需要一种类型,因为它旨在与CLR POCO合作,因此可以为您处理转换(来自JSON)。

在您的情况下,您将需要直接与JSON合作,因为您不知道类型。这就是Web UI所做的。我建议您查看Java-scrip代码以查看如何完成。

另外,您总是有一个默认索引,称为“ raven/documentsByentityName”,您可以查询。这将索引“ raven-entity-name”(对应于CLR类型),该名称存储在文档元数据中。这就是Raven用来允许其将JSON转换为CLR类型的方法。看 文档 有关更多信息

其他提示

以下将在JSON中提取所有Ravendb文件:

var docStore = new DocumentStore { Url = "http://localhost:8080" };
using (docStore.Initialize())
{
    var docs = docStore
        .DatabaseCommands
        .Query("Raven/DocumentsByEntityName", new IndexQuery());
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top