2

万维网上有很多关于如何删除 RavenDB 数据库中所有文档的提示。有些比其他的更复杂,即http://vpetroff.blogspot.co.uk/2012/04/deleting-all-documents-in-ravendb.html

4

2 回答 2

2

我一直在使用版本 3,"Auto/AllDocs"但似乎无法正常工作。但是,您可以检索索引名称并以这种方式删除,例如:

        var indexDefinitions = _documentStore.DatabaseCommands.GetIndexes(0, 100);
        foreach (var indexDefinition in indexDefinitions)
        {
            _documentStore.DatabaseCommands.DeleteByIndex(indexDefinition.Name, new IndexQuery());
        }
于 2015-04-01T04:32:53.247 回答
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();
    }
于 2013-09-18T15:59:19.990 回答