【问题标题】:Delete RavenDB collection删除 RavenDB 集合
【发布时间】:2011-08-11 19:38:38
【问题描述】:

我需要删除 Raven DB 中的整个文档集合。逐一删除(文档)不是明智的选择。有没有办法让我轻松做到这一点?

【问题讨论】:

    标签: ravendb document-based


    【解决方案1】:

    您可以进行基于集合的操作。

    store.DatabaseCommands.DeleteByIndex() 这样做

    store.DatabaseCommands.DeleteByIndex(
        "Enquiries/MyEnquiryIndexName",
        new IndexQuery { Query = "Id:*", },
        allowStale: false);
    

    Code sample@Marijin

    【讨论】:

    • 我们能举个例子吗?我对此很感兴趣,只是想不通。
    【解决方案2】:

    不确定以前的版本,但以下适用于 RavenDB 5.0

    如果您想从名为“Users”的集合中删除所有文档,可以将集合名称传递给 DeleteByQueryOperation

    DeleteByQueryOperation("from Users")
    

    通用版本如下所示:

    using Raven.Client.Documents;
    using Raven.Client.Documents.Operations;
    
    public class ExampleClass
    {
      public static void DeleteCollection<TEntity>(IDocumentStore store, string databaseName)
      {
        var collectionName = store.Conventions.GetCollectionName(typeof(TEntity));
    
        store.Operations
          .ForDatabase(databaseName)
          .Send(new DeleteByQueryOperation($"from {collectionName}"));
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多