gpt4 book ai didi

ravendb - Raven DB:如何删除给定类型的所有文档

转载 作者:行者123 更新时间:2023-12-03 13:43:25 25 4
gpt4 key购买 nike

更具体地说,在Raven DB中,我想创建一个具有如下签名的通用方法:

public void Clear<T>() {...


然后让Raven DB清除给定类型的所有文档。

我从Ayende的其他帖子中了解到类似的问题,您需要一个索引才能批量执行此操作。

我认为这将涉及创建一个映射每种文档类型的索引-这似乎需要大量工作。

有谁知道创建上述方法的有效方法,该方法将直接在数据库中进行集合删除?

最佳答案

我假设您想从.NET客户端执行此操作。如果是这样,请使用标准的DocumentsByEntityName索引:

var indexQuery = new IndexQuery { Query = "Tag:" + collectionName };
session.Advanced.DocumentStore.DatabaseCommands.DeleteByIndex(
"Raven/DocumentsByEntityName",
indexQuery,
new BulkOperationOptions { AllowStale = true });

var hilo = session.Advanced.DocumentStore.DatabaseCommands.Get("Raven/H‌​ilo/", collectionName);
if (hilo != null) {
session.Advanced.DocumentStore.DatabaseCommands.Delete(hilo.‌​Key, hilo.Etag);
}


其中 collectionName是集合的实际名称。

第一个操作将删除项目。第二个删除 HiLo file

另请查看官方文档- How to delete or update documents using index

关于ravendb - Raven DB:如何删除给定类型的所有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10146035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com