Node.js 清空MongoDB(通过Azure Cosmos Db)与deletemany的共享集合
我目前正在通过microsoft AzureCosmosDB处理MongoDB数据的NodeJS项目中工作 为了更好地使用该项目,我有一个共享集合,它的_id为shardkey,我想定期清空它,我知道这是使用deleteMany指令完成的,其中有一个空对象作为参数 所以我试过了,现在我面临一个反复出现的错误:Node.js 清空MongoDB(通过Azure Cosmos Db)与deletemany的共享集合,node.js,mongodb,azure-cosmosdb,Node.js,Mongodb,Azure Cosmosdb,我目前正在通过microsoft AzureCosmosDB处理MongoDB数据的NodeJS项目中工作 为了更好地使用该项目,我有一个共享集合,它的_id为shardkey,我想定期清空它,我知道这是使用deleteMany指令完成的,其中有一个空对象作为参数 所以我试过了,现在我面临一个反复出现的错误: query in command must target a single shard key 我理解这个错误背后的逻辑,但我不知道从哪里开始寻找解决方案,在mongo文档中也没有找到任
query in command must target a single shard key
我理解这个错误背后的逻辑,但我不知道从哪里开始寻找解决方案,在mongo文档中也没有找到任何帮助
我已经读过关于使用散列shardkeys以及如何使shardkeys的使用更加灵活的内容,但我想知道是否有更简单的解决方案,可能是我错过了一些东西,可以让我在不逐个给出所有项目ID的情况下清空集合:
有什么想法吗
多谢各位 您应该能够通过匹配集合中具有_id字段的任何文档来执行查询或删除命令: deleteMany{u id:{$exists:true} 所以 目前看来这是不可能的,Azure CosmosDb团队正在进行这项工作,暂定发布日期为2019年的前几个月
谢谢你的帮助,也很抱歉打扰你类似于如果你真的想完全清空收藏,应该很容易把它扔掉?所以我没有有效地看到这篇3小时的帖子啊哈谢谢!即使是C语言,它似乎说这是CosmosDB特有的问题:/我首先想到要删除集合,但它的一些初始配置只能在azure portal控制台中管理,因此这是我不幸无法做到的事情:过滤器是一个好主意,但不幸的是,它给出了相同的结果。关于评论中提到的后Hansmad,我假设这是CosmosDB的具体问题:仅供参考,我在2019年3月发布的链接现在显示它已在Cosmos DB API中实现;