1

实际上我想在测试过程中删除所有类型的文档,但我无法使用DocumentStore.DatabaseCommands.DeleteByIndex命令执行此操作,所以我尝试查看是否可以查询这些实体,这是我的代码:

var store = new DocumentStore { Url = "http://localhost:8080" };
            store.Initialize();
            var result= store.DatabaseCommands.Query("Raven/DocumentsByEntityName",
                new IndexQuery { Query = "Tag : RunningTables" },null);
            result.Results.ForEach(x=>x.WriteTo(new JsonTextWriter(Console.Out)));

它不返回任何文档,但是当我使用 RavenDB Studio 并在Raven/DocumentsByEntityName索引上执行相同的查询时。

然后我查看了我的命令 Url 并意识到 start=30 所以我将代码更改如下:

var result= store.DatabaseCommands.Query("Raven/DocumentsByEntityName",
                    new IndexQuery { Query = "Tag : RunningTables",Start=0 },null);

但是除了现在 Url 不再包含 start 之外没有任何改变。我的代码有什么问题?

4

1 回答 1

3

好的。我的代码出了什么问题。我没有选择默认数据库,而且我的 RavenDB 中有多个数据库。所以我这样做了:

var store = new DocumentStore { Url = "http://localhost:8080" , DefaultDatabase = "MyDbName" };
            store.Initialize();
            var result= store.DatabaseCommands.Query("Raven/DocumentsByEntityName",
                new IndexQuery { Query = "Tag : RunningTables" },null);
            result.Results.ForEach(x=>x.WriteTo(new JsonTextWriter(Console.Out)));
于 2014-08-26T13:24:05.243 回答