1

我有一个包含许多不同分区的 CosmosDB 集合。我想删除其中一个分区中的所有数据,所以我尝试运行命令:

db.myCollection.deleteAll({PartitionKey: 'pop-9q'})

PartitionKey我分区/分片基于的字段在哪里。但是,当我执行此操作时,它会返回不是很有帮助的消息:

错误:发生错误

为什么我会收到此消息,我如何才能获得有关原因的更多详细信息或找到解决方案?

4

2 回答 2

2

目前,此时您无法执行批量删除。请对此功能投票和评论:添加删除分区中所有数据的功能

此外,您使用的是哪个 API?对于 Gremlin API,您可以执行如下操作: gV().drop()

于 2018-10-08T19:15:52.437 回答
0

正如@Mike 所说,Cosmos db SQL API 和 Mongo API 尚不支持“删除所有数据”功能。我注意到您已经在上面的链接中添加了评论。我只是在这里为您提供了一种解决方法,即对 Cosmos db SQL API 使用批量删除存储过程。

(示例代码:https ://gist.github.com/deepumi/2a23c5380202bddf0b85e83baf5833be )

不幸的是,对于 Mongo API,甚至不支持存储过程。您可以创建一个Azure HTTP 触发器函数,以便随时在函数中执行批量删除代码,或将其合并到您的程序代码中。

于 2018-10-09T01:26:06.640 回答