实际上我想在测试程序中删除所有类型的文档,但我无法使用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不再包含启动了。 我的代码出了什么问题?
答案 0 :(得分: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)));