使用较新的 Mongo shell 版本和较旧的 MongoDB 版本安全吗?
Is using a newer Mongo shell version with an older MongoDB version safe?
我在多个生产服务器上使用 MongoDB,不同的项目使用不同的版本。我的开发环境有 shell 的 v3.6,但是当我使用 MongoDB v3.4 连接到服务器时,我在登录时收到此消息:
WARNING: shell and server versions do not match
将较新的 Mongo shell 与较旧的数据库版本一起使用是否不安全?
MongoDB 是否就此提供了任何官方 answer/documentation?
Is it unsafe to use a newer Mongo shell with an older DB version?
启动警告是关于预期而不是安全:理想情况下,您的 mongo
shell 和 MongoDB 部署的主要版本 (x.y
) 应该是相同的发行系列。基本命令通常是向后兼容的(在适当的情况下将默认为 "legacy mode"),但不匹配的 shell 版本肯定会导致意外或混乱的结果。
例如,3.6 mongo
shell 包括 helpers for new MongoDB 3.6 features 类会话和可重试写入。如果您连接到较旧的 MongoDB 服务器,使用助手来实现较新的功能或选项可能并不总是会导致明显的错误或警告。
同样,如果您使用 3.4 mongo
shell 连接到 MongoDB 3.6 部署,您将缺少更新服务器功能的助手。
如果您确信该差异不会对您正在使用的命令造成任何问题,您可以选择忽略版本不匹配警告。
如果您经常需要连接到多个 MongoDB 服务器版本(并使用 Linux 或 macOS),m (MongoDB version manager) 非常方便下载和在多个 [=11= 之间切换] 版本。
我在多个生产服务器上使用 MongoDB,不同的项目使用不同的版本。我的开发环境有 shell 的 v3.6,但是当我使用 MongoDB v3.4 连接到服务器时,我在登录时收到此消息:
WARNING: shell and server versions do not match
将较新的 Mongo shell 与较旧的数据库版本一起使用是否不安全? MongoDB 是否就此提供了任何官方 answer/documentation?
Is it unsafe to use a newer Mongo shell with an older DB version?
启动警告是关于预期而不是安全:理想情况下,您的 mongo
shell 和 MongoDB 部署的主要版本 (x.y
) 应该是相同的发行系列。基本命令通常是向后兼容的(在适当的情况下将默认为 "legacy mode"),但不匹配的 shell 版本肯定会导致意外或混乱的结果。
例如,3.6 mongo
shell 包括 helpers for new MongoDB 3.6 features 类会话和可重试写入。如果您连接到较旧的 MongoDB 服务器,使用助手来实现较新的功能或选项可能并不总是会导致明显的错误或警告。
同样,如果您使用 3.4 mongo
shell 连接到 MongoDB 3.6 部署,您将缺少更新服务器功能的助手。
如果您确信该差异不会对您正在使用的命令造成任何问题,您可以选择忽略版本不匹配警告。
如果您经常需要连接到多个 MongoDB 服务器版本(并使用 Linux 或 macOS),m (MongoDB version manager) 非常方便下载和在多个 [=11= 之间切换] 版本。