如何从波斯菊数据库中删除容器中的所有项目?

时间:2019-10-26 02:12:01

标签: c# azure-cosmosdb

我想从天蓝色的宇宙数据库中读取项目并全部删除

我很难使用关键字并且无法使用任何循环,因为我不知道要循环哪个列表/数组

this.container.ReadItemAsync(*);

this.container.DeleteItemAsync().All();

感谢任何帮助!

这是我的容器的外观 This is how my container looks

1 个答案:

答案 0 :(得分:-1)

您显示的代码无效。也就是说,您不能只说“删除所有文档”。 ReadItemAsync()是直接读取的文档,它基于文档的ID(和分区键)。

您需要查询所有文档,然后在循环中将它们删除(对于在查询中找到的每个ID调用DeleteItemAsync())。您还必须使该查询也可以跨分区运行(否则最终只会删除一部分文档)。

您还可以删除并重新创建您的收藏集(这将有效删除收藏集中的所有内容)。

Cosmos DB还具有一个Bulk Executor库(批量插入,批量更新,批量删除)。也许这会为您工作,并且避免删除和重新创建集合(请注意,如果您有很多文档,可能会因请求单位而遇到限制问题)。