У меня та же проблема, что и в этом вопросе:
MongoDB дамп из 3.2, восстановление с 3.4, индекс ошибки save = null
В моем случае воссоздание индексов вручную не является опцией, мне нужен script, который автоматизирует это для последующей миграции моей рабочей среды.
То, что я пробовал до сих пор:
1/запуск этого в оболочке mongo в новой базе данных:
for (var collection in ["_tempstore", "contracts", "images", "thumbs", "covers", "invoices"]) {
db.getCollection("cfs_gridfs." + collection + ".files").createIndex({filename: 1});
db.getCollection("cfs_gridfs." + collection + ".chunks").createIndex({files_id: 1, n: 1});
}
который терпит неудачу.
2/Избавьтесь от постороннего ключа w
, который является корнем проблемы в моих индексах в моей старой базе данных, запустив:
db.system.indexes.update({w: {$exists: true}}, {$unset: {w: ""}})
который также терпит неудачу.
Каков правильный путь?