10

Raven DB 内のドキュメントのコレクション全体を削除する必要があります。1 つずつ (ドキュメント) を削除するのは賢明な選択ではありません。これを簡単に行う方法はありますか?

4

2 に答える 2

6

セットベースの操作を行うことができます。

store.DatabaseCommands.DeleteByIndex()これを行うには

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

@Marijinによるコードサンプル

于 2011-08-11T21:33:20.103 に答える
0

以前のバージョンについては不明ですが、以下は 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}"));
  }
}
于 2021-03-09T14:44:00.403 に答える