我目前正在通过Microsoft AzureCosmosDB使用MongoDB处理数据的NodeJS项目。
为了很好地利用该项目,我有一个共享集合(以_id作为分键),我想定期清空它,我知道这是通过使用带有空对象作为参数的“ deleteMany”指令完成的。
所以我尝试了,并且目前正面临一个反复出现的错误:
query in command must target a single shard key
我了解此错误背后的逻辑,但我不知道从哪里开始寻找解决方案,并且在mongo文档中找不到任何帮助。
我已经读过有关使用散列分片键的信息,以及如何使分片键的使用更加“灵活”,但我想知道是否有更简单的解决方案,也许我想念的东西会让我清空收集而没有一一列出所有商品ID:)
有什么想法吗?
非常感谢您!
答案 0 :(得分:1)
SO
目前看来这是不可能的,Azure CosmosDb团队正在对此进行研究,并计划在今年的头几个月(2019年)发布版本。
感谢您的帮助,也很抱歉
答案 1 :(得分:0)
您应该能够通过匹配集合中具有_id
字段的任何文档来进行查询或删除命令:
db.collection.deleteMany({ _id: { $exists: true }})