使用大型 MongoDB 数据库运行 mongorestore
命令时,我收到以下错误。
完成备份的机器:
db version v4.2.0
git version: a4b751dcf51dd249c5865812b390cfd1c0129c30
OpenSSL version: OpenSSL 1.1.1 11 Sep 2018
allocator: tcmalloc
modules: none
build environment:
distmod: ubuntu1804
distarch: x86_64
target_arch: x86_64
本地计算机版本(我在其中执行mongorestore
)
db version v4.0.10
git version: c389e7f69f637f7a1ac3cc9fae843b635f20b766
allocator: system
modules: none
build environment:
distarch: x86_64
target_arch: x86_64
失败:prod.DeviceState:为 prod.DeviceState 创建索引时出错:createIndex 错误:v:2 索引键模式中的值不能是对象类型。只允许数字 > 0、数字 < 0 和字符串。
有什么办法可以解决这个问题吗?
谢谢
最佳答案
对于将来来到这里的人来说,问题是,我在本地使用 MongoDB 4.0,而服务器使用 4.2:
从版本 4.2 开始,mongodump 对元数据文件使用扩展 JSON v2.0(规范)格式。要解析这些文件以进行恢复,请使用支持扩展 JSON v2.0(规范或宽松模式)格式的 mongorestore 版本 4.2+。 有关详细信息,请参阅“元数据格式”部分:[docs.mongodb.com/manual/reference/program/mongodump][1]
来源:https://dba.stackexchange.com/questions/250312/failed-to-restored-indexes-using-mongorestore-mongodb
关于linux - Mongorestore:createIndex 错误:v:2 索引键模式中的值不能是对象类型。只允许数字 > 0、数字 < 0 和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59632651/