Files
mongo-index-helper/CLAUDE.md
2026-04-01 11:50:03 +03:00

1.9 KiB

mongo-index-helper

Два bash-скрипта для экспорта и импорта схемы индексов MongoDB. Предназначены для запуска внутри контейнера mongo.

Скрипты

  • export-indexes.sh — экспортирует индексы всех коллекций указанной БД в JSON-файл
  • import-indexes.sh — импортирует индексы из JSON-файла в указанную БД

Технические детали

  • Требуют mongosh (доступен в официальном образе mongo 5+)
  • Встроенный JavaScript передаётся через временный .js-файл в /tmp, который удаляется после выполнения
  • Переменные среды MONGO_DB, DRY_RUN, INDEXES_JSON используются для передачи параметров в JS-код внутри mongosh
  • Индекс _id_ пропускается при экспорте и импорте
  • Поля v и ns удаляются из экспортируемых индексов (служебные, не нужны при создании)

Формат JSON

{
  "collectionName": [
    {
      "key": { "field": 1 },
      "name": "index_name",
      "unique": true
    }
  ]
}

Имя БД в файл не сохраняется — передаётся параметром --db при каждом запуске.

Поведение импорта

  • Если коллекция не существует — создаётся автоматически
  • Если в коллекции уже есть индексы (кроме _id_) — они дропаются перед созданием новых
  • --dry-run показывает все планируемые действия без их выполнения