首页 > 解决方案 > 使用 deletemany 清空 MongoDB(通过 Azure Cosmos Db)共享集合

问题描述

我目前正在开发一个 NodeJS 项目,通过 microsoft AzureCosmosDB 使用 MongoDB 处理数据。

为了更好地使用该项目,我有一个共享集合(以 _id 作为 shardkey),我想定期清空它,我知道这是使用带有空对象作为参数的“deleteMany”指令完成的。

所以我尝试了,我目前面临一个反复出现的错误:

query in command must target a single shard key

我了解此错误背后的逻辑,但我不知道从哪里开始找到解决方案,并且在 mongo 文档中没有找到任何帮助。

我已经阅读了有关使用散列 shardkeys 以及这如何使 shardkeys 的使用更加“灵活”的信息,但我想知道是否有更简单的解决方案,也许我错过了一些可以让我清空集合而不给出的东西所有项目 ID 一个一个:)

任何想法 ?

非常感谢 !

标签: node.jsmongodbazure-cosmosdb

解决方案


所以

目前看来这是不可能的,Azure CosmosDb 团队正在为此努力,暂定发布日期在今年(2019 年)的前几个月。

https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/34813063-cosmosdb-mongo-api-delete-many-with-partition-ke

感谢您的帮助,很抱歉打扰


推荐阅读