WWW上有很多提示如何删除RavenDB数据库中的所有文档。有些比其他更复杂,即http://vpetroff.blogspot.co.uk/2012/04/deleting-all-documents-in-ravendb.html。
答案 0 :(得分:2)
我一直在使用版本3,"Auto/AllDocs"
似乎无法正常工作。但是,您可以检索索引名称并删除该方式,例如:
var indexDefinitions = _documentStore.DatabaseCommands.GetIndexes(0, 100);
foreach (var indexDefinition in indexDefinitions)
{
_documentStore.DatabaseCommands.DeleteByIndex(indexDefinition.Name, new IndexQuery());
}
答案 1 :(得分:1)
使用最新版本的RavenDB,您只需使用内置的Auto / AllDocs索引。
private static void DeleteFiles(IDocumentStore documentStore)
{
var staleIndexesWaitAction = new Action(
delegate
{
while (documentStore.DatabaseCommands.GetStatistics().StaleIndexes.Length != 0)
{
Thread.Sleep(10);
}
});
staleIndexesWaitAction.Invoke();
documentStore.DatabaseCommands.DeleteByIndex("Auto/AllDocs", new IndexQuery());
staleIndexesWaitAction.Invoke();
}