python - pymongo 中不允许用于 atlasAdmin 角色的 MongoDB reIndex 命令
问题描述
我正在测试 pymongo 错误消息是否达到我的存储配额,这导致我为 4.03MB 集合创建了一个 177.96MB 索引(在删除用于填充我的配额的虚拟日志之后)。我正在尝试删除多余的索引,但我反复收到此错误。
OperationFailure: CMD_NOT_ALLOWED: reIndex, full error: {'ok': 0, 'errmsg': 'CMD_NOT_ALLOWED: reIndex', 'code': 8000, 'codeName': 'AtlasError'}
我用来访问集群的 MongoDB 角色是 atlasAdmin。所以,我不确定为什么我无法访问这个命令。运行以下行时出现错误。
client.database_name.collection_name.drop_indexes()
client.database_name.command({'reIndex': 'collection_name'})
有谁知道为什么我不能这样做?
解决方案
Atlas free 和共享集群不支持所有命令。请参阅https://docs.atlas.mongodb.com/reference/unsupported-commands/#unsupported-commands-in-m0-m2-m5-clusters
reIndex 在不受支持的命令列表中。
您将需要升级到 M10 或更大的集群,或者单独删除和构建每个索引。
推荐阅读
- django-comments - 了解 HTML 模板文件对上下文、传入参数、标签的访问?
- reporting-services - 如何消除 SSRS 表达式中的#error
- javascript - 使用 onclick JavaScript 函数添加价值
- android - 扩展图像提供程序
- sqlite - Electron 下使用 Prisma 的 SQL
- html - 无法在 css 中创建具有边框半径的所需曲线
- javascript - 用js给pdf文件添加白色背景色?
- jenkins - 在一个阶段失败并且其余阶段不运行后,如何将整个 Jenkins 管道构建标记为成功?
- javascript - 如何在渲染页面和每个调整大小窗口上调用函数?
- python - SQLAlchemy 找不到新条目