mongosh
mongosh(之前称为 MongoDB Shell 或 mongo
)是 MongoDB 的交互式 JavaScript shell,用于与 MongoDB 数据库实例进行交互。它提供了丰富的命令行界面,使得用户能够执行数据库管理任务、查询数据、执行脚本等。本教程将引导你熟悉 mongosh 的基本操作和常用命令。
前提条件
- MongoDB 安装:确保你已经在本地或服务器上安装了 MongoDB,并且 mongosh 可执行文件在你的 PATH 环境变量中。
- 启动 MongoDB:在开始使用 mongosh 之前,请确保 MongoDB 实例正在运行。
启动 mongosh
打开终端或命令行窗口,输入以下命令启动 mongosh:
mongosh
或者,如果你想要连接到特定的 mongodb 实例,可以使用以下命令:
mongosh --uri "mongodb://<username>:<password>@<host>:<port>/<database>"
替换 <username>
、<password>
、<host>
、<port>
和 <database>
为你的实际数据库连接信息。
如果一切设置正确,你应该会看到类似如下的提示符:
Current mongosh Logged in as: <username>@<host>:<port>
using database: <database>
for help, see: https://docs.mongodb.com/mongosh/
>
这里的 >
是 mongosh 的提示符,表示你已经成功连接到 MongoDB 实例,并可以开始输入命令。
基本操作
1. 选择数据库
使用 use
命令来选择你想要操作的数据库。如果数据库不存在,MongoDB 会在你第一次尝试对其执行操作时创建它。
use myDatabase
2. 插入文档
在 MongoDB 中,数据以文档的形式存储,每个文档是一个 BSON(Binary JSON)对象。使用 insertOne
或 insertMany
方法来插入文档。
插入单个文档
db.myCollection.insertOne({ name: "Alice", age: 25, city: "New York" })
插入多个文档
db.myCollection.insertMany([
{ name: "Bob", age: 30, city: "Los Angeles" },
{ name: "Charlie", age: 35, city: "Chicago" }
])
3. 查询文档
查询所有文档
db.myCollection.find().pretty()
pretty()
方法使输出格式更加易读。
查询特定条件的文档
db.myCollection.find({ age: { $gt: 30 } }).pretty()
这个查询将返回年龄大于 30 的所有文档。
4. 更新文档
更新单个文档
db.myCollection.updateOne(
{ name: "Alice" },
{ $set: { age: 26 } }
)
更新多个文档
db.myCollection.updateMany(
{ city: "New York" },
{ $set: { city: "NYC" } }
)
5. 删除文档
删除单个文档
db.myCollection.deleteOne({ name: "Alice" })
删除多个文档
db.myCollection.deleteMany({ age: { $lt: 30 } })
6. 索引操作
索引可以加快查询速度。
创建索引
db.myCollection.createIndex({ name: 1 }) // 1 表示升序,-1 表示降序
查看索引
db.myCollection.getIndexes()
7. 聚合操作
聚合操作可以对文档进行复杂的数据处理。
示例:计算平均年龄
db.myCollection.aggregate([
{ $group: { _id: null, averageAge: { $avg: "$age" } } }
]).pretty()
8. 使用 JavaScript 表达式
mongosh 是一个 JavaScript shell,因此你可以在其中使用任何有效的 JavaScript 表达式。
var x = 10
var y = 20
var sum = x + y
print("The sum is: " + sum)
9. 退出 mongosh
要退出 mongosh,可以输入 exit
或使用快捷键 Ctrl+C
然后按 Y
确认退出。
exit
结论
通过这篇教程,你应该已经掌握了 mongosh 的基本操作,包括选择数据库、插入和查询文档、更新和删除文档、创建索引、执行聚合操作以及使用 JavaScript 表达式。mongosh 是一个功能强大的工具,它使得与 MongoDB 数据库的交互变得更加简单和高效。如果你想要更深入地了解 mongosh,MongoDB 官方文档是一个很好的资源。
本文地址:https://www.tides.cn/p_mongodb-shell