MongoDB 的 shell 客户端在哪里,我在 Ubuntu 18.04 LTS 中找到了许多与 MongoDB 相关的软件包,但似乎找不到这个客户端到底在哪里以及我应该安装什么信息。
我知道如果我安装 MongoDB 包,shell 将会包含在内,但我不需要服务器和其他东西,因为我有 Atlas(云数据库服务器)。
以下是我在网上找到的链接:
- https://packages.ubuntu.com/bionic/database/mongodb-clients
- https://packages.ubuntu.com/bionic/mongo-tools
经历上述所有麻烦是否有意义?我是否应该简单地安装 MongoDB 包?
答案1
重要的:旧版mongo
shell 在 MongoDB 5.0 版本中已弃用,并在 6.0 版本软件包中删除。现代替代品是MongoDB Shell(mongosh
)这是一个功能更全面的 JavaScript 和 Node.js REPL 环境,还兼容更广泛的 MongoDB 服务器版本。例如,自 2024 年 2 月起,mongosh
支持 MongoDB Server v4.2 及更高版本。
(以下为 2019 年 3 月的原始答案)
如果您只想要mongo
shell,您可以安装mongodb-clients
问题中提到的软件包。但是,请注意,这包括较旧的 shell 版本 (3.6.3)。
官方 MongoDB 软件包会随着每个次要版本的发布而更新,您最好安装与 MongoDB 服务器主版本 (3.6、4.0) 匹配的 shell 版本。shell 与服务器版本之间的严重不匹配可能会导致一些细微错误以及帮助程序缺失或过时。例如,MongoDB 3.6.x shell 没有事务帮助程序(在 4.0 中添加)。
MongoDB 文档包含以下信息在 Ubuntu 上安装官方软件包。有一个mongodb-org-shell
包仅包含 MongoDB shell,您可能还想安装mongodb-org-tools
其他命令行工具(mongodump
,,mongorestore
...)。
最好遵循 MongoDB 文档中的说明,因为某些细节将来可能会发生变化(例如签名密钥),但在 Ubuntu 18.04(Bionic)上使用 MongoDB 4.0 的一般步骤如下:
导入用于从 MongoDB, Inc 签署包的公钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
为 MongoDB 创建包列表文件
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
更新本地包数据库
sudo apt-get update
安装所需的 MongoDB 包
sudo apt-get install -y mongodb-org-shell
笔记:遗产mongo
shell 在 MongoDB 5.0 版本中已弃用,并在 6.0 版本软件包中删除。现代替代品是MongoDB Shell(mongosh
)这是一个功能更齐全的 JavaScript 和 Node.js REPL 环境。
答案2
你可能想要安装 mongosh
(MongoDB Shell)代替。遗留mongo
shell 已已弃用自 MongoDB v5.0 起并被替换为mongosh
。从官方网站:
与传统 mongo shell 相比,新版 MongoDB Shell
mongosh
具有许多优势,例如:
- 改进的语法高亮显示。
- 改进的命令历史记录。
- 改进日志记录。
目前,mongosh 支持 mongo shell 方法的子集。实现 mongosh 和 mongo shell 之间的功能对等是一项持续不断的努力。
为了保持向后兼容性,mongosh 支持的方法使用与 mongo shell 中相应方法相同的语法。要查看 mongosh 支持的方法的完整列表,请参阅MongoDB Shell 方法。
进一步参考:与旧版 mongo Shell 的兼容性变化