[英]Empty a MongoDB (via Azure Cosmos Db) shared collection with deletemany
我目前正在通过Microsoft AzureCosmosDB使用MongoDB处理数据的NodeJS项目。
为了更好地利用该项目,我有一个共享集合(以_id作为分键),我想定期清空它,我知道这是通过使用带有空对象作为参数的“ deleteMany”指令完成的。
因此,我尝试了一下,目前遇到了经常性的错误:
query in command must target a single shard key
我了解此错误背后的逻辑,但我不知道从哪里开始寻找解决方案,也没有在mongo文档中找到任何帮助。
我已经读过有关使用哈希分片键以及如何使分片键更加“灵活”的信息,但是我想知道是否有更简单的解决方案,也许我错过了一些东西,可以让我清空集合而无需给出所有项目ID一一:)
任何想法 ?
非常感谢你 !
所以
看来这目前尚不可能,并且Azure CosmosDb团队正在对此进行工作,并计划在今年的头几个月(2019年)发布日期。
谢谢您的帮助,也很抱歉
通过匹配具有_id
字段的集合中的任何文档,您应该能够执行查询或删除命令:
db.collection.deleteMany({ _id: { $exists: true }})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.