我有一个带有许多不同分区的CosmosDB集合。我想删除一个分区中的所有数据,所以我尝试运行命令:
db.myCollection.deleteAll({PartitionKey: 'pop-9q'})
PartitionKey
是我基于其进行分区/分片的字段。但是当我执行此命令时,它返回的信息不是很有用:
错误:发生了错误
我为什么会收到此消息?如何获得原因的更多详细信息或找到解决方案?
答案 0 :(得分:1)
当前,您目前无法执行批量删除。请对此功能进行投票和评论:Add the ability to delete ALL data in a partition
此外,您在使用哪个API?对于Gremlin API,您可以执行以下操作:g.V()。drop()
答案 1 :(得分:0)
正如@Mike所说,cosmos db sql api和mongo api尚不支持delete all data
功能。我注意到您已经在link以上添加了评论。我只是在这里为您提供一种变通方法,即对cosmos db sql api使用批量删除存储过程。
(示例代码:https://gist.github.com/deepumi/2a23c5380202bddf0b85e83baf5833be)
不幸的是,对于mongo api,甚至不支持存储过程。您可以创建一个Azure HTTP Trigger Function来在函数中执行批量删除代码,或者将其合并到程序代码中。
希望它对您有帮助。