Module 04 · NoSQL Databases in Cloud云端 NoSQL 数据库
Hands-on Lab: Getting Started with MongoDB动手实验:MongoDB 入门
Welcome to the Getting Started with MongoDB lab!
欢迎使用 MongoDB 入门实验室!
开始使用MongoDB
预计所需时间:30分钟
目标
完成本实验后,您将能够:
- 使用命令行界面访问MongoDB服务器
- 描述列出和创建集合(包含文档)及数据库(包含一个或多个集合)的过程
- 对集合执行基本操作,例如插入、计数和列出文档
关于 Skills Network Cloud IDE
Skills Network Cloud IDE(基于 Theia 和 Docker)为课程和项目相关实验提供了一个动手实验的环境。Theia 是一个开源的集成开发环境(IDE),可以在桌面或云端运行。为了完成这个实验,我们将使用 Skills Network 提供的基于 Theia 和 MongoDB 的 Cloud IDE。
关于这个实验环境的重要通知
请注意,这个实验环境的会话不会被保存。每次您连接到这个实验时,都会为您创建一个新的环境。您在之前会话中保存的任何数据都会丢失。请计划在单个会话中完成这些实验,以避免丢失您的数据。
练习 1 - 启动 mongodb 服务器
通过点击下面的按钮打开 MongoDB 数据库页面:
Open MongoDB Page in IDE
在该页面上,点击 创建 按钮以创建一个 MongoDB 数据库。
练习 2 - 连接到 mongodb 服务器
创建完成后,点击 MongoDB CLI 按钮(在上一步的 Create 按钮下方)以使用 mongosh CLI 连接到数据库。
现在你应该已经连接到 mongodb 数据库,并看到如下图所示的输出。
练习 3 - 查找服务器版本
在 mongo 客户端运行以下命令。
db.version()
这将显示mongodb服务器的版本。
练习 4 - 列出数据库
在 mongo 客户端运行以下命令。
show dbs
这将打印出服务器上存在的数据库列表。
练习 5 - 创建数据库
在 mongo 客户端运行以下命令。
use training
这将创建一个名为 training 的新数据库。如果名为 training 的数据库已经存在,它将开始使用该数据库。
练习 6 - 创建集合
在 mongo 客户端运行以下命令。
db.createCollection("mycollection")
这将在 training 数据库中创建一个名为 mycollection 的集合。
练习 7 - 列表集合
在 mongo 客户端运行以下命令。
show collections
这将打印您当前数据库中的集合列表。
练习 8 - 将文档插入集合
在 mongo 客户端运行以下命令。
db.mycollection.insert({"color":"white","example":"milk"})
上述命令将 JSON 文档 {“color”:”white”,”example”:”milk”} 插入到集合中。
让我们再插入一个文档。
db.mycollection.insert({"color":"blue","example":"sky"})
上述命令将 JSON 文档 {“color”:”blue”,”example”:”sky”} 插入到集合中。
再插入 3 个您选择的文档。
练习 9 - 统计集合中的文档数量
在 mongo 客户端运行以下命令。
db.mycollection.count()
此命令会给你集合中的文档数量。
练习 10 - 列出集合中的所有文档
在 mongo 客户端运行以下命令。
db.mycollection.find()
此命令列出集合 mycollection 中的所有文档。
请注意,mongodb 会自动为每个文档添加一个 ‘_id’ 字段,以唯一标识该文档。
练习 11 - 断开与 mongodb 服务器的连接
在 mongo 客户端运行以下命令。
exit
练习题
- 问题:
列出数据库。
点击这里获取提示
使用带有 dbs 选项的 ‘show’ 命令。
点击这里获取解决方案
show dbs
- 问题:
创建一个名为 mydatabase 的数据库。
点击这里获取提示
使用带有数据库名称的 ‘use’ 命令。
点击这里获取解决方案
use mydatabase
- 问题:
在数据库 mydatabase 中创建一个名为 landmarks 的集合。
点击这里获取提示
使用 ‘createCollection’ 命令。
点击这里获取解决方案
db.createCollection("landmarks")
- 问题:
列出集合
点击这里获取提示
使用带有 collections 选项的 ‘show’ 命令。
点击这里获取解决方案
show collections
- 问题:
插入五个地标的详细信息,包括名称、城市和国家。例如:埃菲尔铁塔,巴黎,法国。
点击这里获取提示
使用带有正确选项的 ‘db.collection.insert()’ 命令。
点击这里获取解决方案
db.landmarks.insert({"name":"自由女神像","city":"纽约","country":"美国"})
db.landmarks.insert({"name":"大本钟","city":"伦敦","country":"英国"})
db.landmarks.insert({"name":"泰姬陵","city":"阿格拉","country":"印度"})
db.landmarks.insert({"name":"金字塔","country":"埃及"})
db.landmarks.insert({"name":"长城","country":"中国"})
- 问题:
计算您插入的文档数量。
点击这里获取提示
在您的集合上使用 ‘count’ 命令。
点击这里获取解决方案
db.landmarks.count()
- 问题:
列出文档。
点击这里获取提示
使用 ‘db.collection.find()’ 命令。
点击这里获取解决方案
db.landmarks.find()
- 问题:
从服务器断开连接。
点击这里获取提示
使用 ‘exit’ 命令。
点击这里获取解决方案
exit