Безопасно ли использовать более новую версию оболочки Mongo со старой версией MongoDB?

Я использую MongoDB на нескольких рабочих серверах с разными версиями для разных проектов. В моей среде разработки есть оболочка v3.6, но когда я подключаюсь к серверу с MongoDB v3.4, при входе в систему меня встречает это сообщение:

ВНИМАНИЕ: версии оболочки и сервера не совпадают

Небезопасно ли использовать более новую оболочку Mongo со старой версией БД? Предоставляет ли MongoDB какой-либо официальный ответ/документацию по этому поводу?


person TheKarateKid    schedule 15.10.2018    source источник


Ответы (1)


Небезопасно ли использовать более новую оболочку Mongo со старой версией БД?

Предупреждение при запуске касается ожиданий, а не безопасности: в идеале основная версия (x.y) вашей оболочки mongo и развертывание MongoDB должны быть частью одной и той же серии выпусков. Базовые команды, как правило, обратно совместимы (и по умолчанию используются в «устаревшем режиме», где это уместно), но несоответствие версий оболочки может привести к неожиданным или запутанным результатам.

Например, оболочка 3.6 mongo включает помощники для новой MongoDB 3.6. функции, такие как сеансы и повторная запись. Если вы подключаетесь к более старому серверу MongoDB, использование помощников для новых функций или параметров не всегда может привести к очевидной ошибке или предупреждению.

Точно так же, если вы подключаетесь к развертыванию MongoDB 3.6 с помощью оболочки 3.4 mongo, вам не хватает помощников для новых функций сервера.

Вы можете игнорировать предупреждение о несоответствии версий, если уверены, что это различие не вызовет проблем с используемыми вами командами.

Если вам регулярно нужно подключаться к нескольким версиям сервера MongoDB (и использовать Linux или macOS), m (MongoDB менеджер версий) очень удобен для загрузки и переключения между несколькими mongo версиями.

person Stennie    schedule 17.10.2018