67 CannotCreateIndex: Cannot create index(无法创建索引)
MongoDB含义
由于约束或限制,索引创建失败。受现有数据或配置影响,MongoDB 无法创建所请求的索引。
原因
超过每个集合允许的最大索引数(64);键过大;或选项组合不兼容(例如 TTL 索引使用了不合适的字段类型)。注意:在现有数据包含重复值时创建唯一索引,引发的是 E11000 DuplicateKey,而不是此代码。
解决方法
如果达到索引数量限制,删除未使用的索引(用 $indexStats 分析使用情况)。检查键大小/类型兼容性和选项组合。在大型集合上,于低负载时段创建索引(自 4.2 起索引创建本就不会长时间阻塞写入;background 选项会被忽略)。
同一数据库的其他条目
- 48 NamespaceExistsNamespace (collection) already exists(命名空间(集合)已存在)
- 11601 InterruptedOperation was interrupted(操作被中断)
- 85 IndexOptionsConflictIndex already exists with different options / different name(索引已存在但选项不同/名称不同)
- 27 IndexNotFoundIndex not found(未找到索引)
- 79 UnknownReplWriteConcernUnknown replica set write concern(未知的副本集写关注)
- 10107 NotWritablePrimarynot master / not writable primary(不是 master / 不是可写的主节点)
- 91 ShutdownInProgressThe server is in the process of shutting down(服务器正在关闭)