如何删除分区中的所有数据?
How to delete all data in a partition?
我有一个包含多个不同分区的 CosmosDB 集合。我想删除其中一个分区中的所有数据,所以我尝试 运行 命令:
db.myCollection.deleteAll({PartitionKey: 'pop-9q'})
其中 PartitionKey
是我 partition/shard 基于的字段。但是当我执行它时 returns 不是很有帮助的消息:
ERROR: An Error has occurred
为什么我会收到此消息,我如何才能获得有关原因的更多详细信息或找到解决方案?
目前,您无法执行批量删除。请对此功能进行投票和评论:Add the ability to delete ALL data in a partition
此外,您 API 在消费什么?对于 Gremlin API,您可以执行类似以下的操作:g.V().drop()
正如@Mike 所说,Cosmos db SQL API 和 Mongo API 中尚不支持 "delete all data" 功能。我注意到您已经在上面 link 添加了评论。我只是在这里为您提供一个解决方法,即使用 Cosmos db SQL API.
的批量删除存储过程
(示例代码:https://gist.github.com/deepumi/2a23c5380202bddf0b85e83baf5833be)
对于MongoAPI,不幸的是,连存储过程都不支持。您可以创建一个 Azure HTTP Trigger Function 以在需要时随时执行函数中的批量删除代码,或将其合并到您的程序代码中。
我有一个包含多个不同分区的 CosmosDB 集合。我想删除其中一个分区中的所有数据,所以我尝试 运行 命令:
db.myCollection.deleteAll({PartitionKey: 'pop-9q'})
其中 PartitionKey
是我 partition/shard 基于的字段。但是当我执行它时 returns 不是很有帮助的消息:
ERROR: An Error has occurred
为什么我会收到此消息,我如何才能获得有关原因的更多详细信息或找到解决方案?
目前,您无法执行批量删除。请对此功能进行投票和评论:Add the ability to delete ALL data in a partition
此外,您 API 在消费什么?对于 Gremlin API,您可以执行类似以下的操作:g.V().drop()
正如@Mike 所说,Cosmos db SQL API 和 Mongo API 中尚不支持 "delete all data" 功能。我注意到您已经在上面 link 添加了评论。我只是在这里为您提供一个解决方法,即使用 Cosmos db SQL API.
的批量删除存储过程(示例代码:https://gist.github.com/deepumi/2a23c5380202bddf0b85e83baf5833be)
对于MongoAPI,不幸的是,连存储过程都不支持。您可以创建一个 Azure HTTP Trigger Function 以在需要时随时执行函数中的批量删除代码,或将其合并到您的程序代码中。