从零到NoSQL:一个动手的MongoDB教程(无需安装!)

你是否曾经想亲手作NoSQL,但又不想处理本地安装、环境变量或错误带来的麻烦?npm

在本指南中,我们将用MongoDB Atlas从零到功能齐全的数据库,只需几分钟。我们将在你的浏览器内创建集群、插入数据并执行高级查询。

我们将涵盖的内容:

搭建免费云集群

创建数据库与收藏

插入虚拟数据(JSON)

运行聚合流水线

正则表达式过滤(模式匹配)

更新与删除文档

让我们开始吧!🚀

1. 创建一个免费的MongoDB图集集群

首先,我们需要一个服务器。幸运的是,MongoDB提供了一个"永久免费"的套餐。

导航到 cloud.mongodb.com

注册(或使用Google/GitHub登录)

点击 + 创建(或构建集群)

选择共享(免费)选项

选择M0沙盒等级

点击创建用户(保存密码!),然后创建集群

注意:集群配置可能需要1-3分钟。

2. 创建数据库与收藏

一旦你的集群变绿并激活:

1)点击"浏览收藏"标签

2)选择 + 创建数据库

3)以下是:

数据库名称: nosql_hands_on

收藏名称: reviews

4)点击创建

3. 手动插入至少10份文档

现在,让我们用样评来丰富我们的收藏。

在集合内,点击插入文档reviews

将视图切换到 {} JSON(模态右上角)

请将每份文档粘贴在下方(如果方便,也可以以数组形式粘贴):

sql 复制代码
{
  "business_id": "BIZ_001",
  "user_id": "U1",
  "rating": 4.8,
  "review_text": "Amazing food, really good taste!",
  "date": "2024-11-10"
}
 

{
  "business_id": "BIZ_001",
  "user_id": "U2",
  "rating": 4.5,
  "review_text": "Very good ambience.",
  "date": "2024-10-01"
}
{
  "business_id": "BIZ_002",
  "user_id": "U3",
  "rating": 3.2,
  "review_text": "Food was average, not very good.",
  "date": "2024-09-15"
}
{
  "business_id": "BIZ_002",
  "user_id": "U4",
  "rating": 4.0,
  "review_text": "Good service. Quick delivery.",
  "date": "2024-08-21"
}
{
  "business_id": "BIZ_003",
  "user_id": "U5",
  "rating": 2.9,
  "review_text": "Not good. Long waiting time.",
  "date": "2024-08-02"
}
{
  "business_id": "BIZ_003",
  "user_id": "U6",
  "rating": 3.5,
  "review_text": "Decent place but not good enough to come again.",
  "date": "2024-07-10"
}
{
  "business_id": "BIZ_004",
  "user_id": "U7",
  "rating": 4.9,
  "review_text": "Outstanding! Really good customer service.",
  "date": "2024-06-14"
}
{
  "business_id": "BIZ_004",
  "user_id": "U8",
  "rating": 3.8,
  "review_text": "Pretty good but expensive.",
  "date": "2024-05-05"
}
{
  "business_id": "BIZ_005",
  "user_id": "U9",
  "rating": 4.4,
  "review_text": "Good portion size and good staff.",
  "date": "2024-04-08"
}
 

{
  "business_id": "BIZ_005",
  "user_id": "U10",
  "rating": 3.9,
  "review_text": "Good but could be improved.",
  "date": "2024-03-11"
}

4. 查询1 --- 按平均评分排名前五的企业

让我们利用聚合框架找到评分最高的企业。

1)点击"聚合"标签

2)点击创建管道(或选择"文本"视图)

3)粘贴以下管道:

sql 复制代码
[
  { "$group": { "_id": "$business_id", "avgRating": { "$avg": "$rating" } } },
  { "$sort": { "avgRating": -1 } },
  { "$limit": 5 }
]

故障:

$group:团体评价,计算平均评分business_id

$sort:排序由下降(最高先)

$limit:保持前五名

5. 查询2 --- 计数包含"good"一词的评论

让我们搜索那些提到"好"的评论,无论大小写如何。

选项A------使用滤波器条

进入文档标签,然后使用筛选:

sql 复制代码
{ "review_text": { "$regex": "good", "$options": "i" } }

点击"应用"查看筛选结果。

选项B------使用聚合计数

sql 复制代码
[
  { "$match": { "review_text": { "$regex": "good", "$options": "i" } } },
  { "$count": "good_review_count" }
]

提示:$options:"i"让它不区分大小写。

6. 查询3 --- 获取特定企业ID的评价

要筛选特定企业的所有评价:

在文档标签中,使用筛选:

sql 复制代码
{ "business_id": "BIZ_001" }

点击应用。

7. 更新文档(使用查询)

假设用户改变主意,想更新他们的评价。U3

点击页面底部的<>(Mongosh)图标或使用游乐场,然后运行:

sql 复制代码
use nosql_hands_on

db.reviews.updateOne(
  { "user_id": "U3" },
  { 
    $set: { 
      "rating": 4.5,
      "review_text": "Updated review --- food quality improved, now very good."
    } 
  }
);

你应该看看:{ acknowledged: true, modifiedCount: 1 }

8. 删除文档

我们先把一条评论从合集里移除。

方法一:使用 UI

前往"文档"标签页

为用户查找文档U10

点击垃圾桶图标(删除)

确认删除

方法二:使用Shell/Playground(游乐场)

运行以下命令:

sql 复制代码
db.reviews.deleteOne({ "user_id": "U10" });

你应该看看:{ acknowledged: true, deletedCount: 1 }


9. 结论

祝贺!🎉 你已经成功地用 MongoDB Atlas 完成了所有核心的 NoSQL作------完全在浏览器中完成,无需安装任何本地工具。

我们的成就:

✓ 创建了免费的MongoDB地图集群

✓ 创建了数据库和收藏

✓ 手动插入了10+文档

✓ 运行汇总管道以寻找顶级企业

✓ 使用正则表达式模式匹配

过滤数据 ✓ 查询特定企业评价

✓ 使用查询更新文档

✓ 删除文档

这种工作流程非常适合学生、初学者以及任何想学习MongoDB、但不想本地安装复杂性的人。Atlas 界面为数据探索和作提供了强大的界面。

相关推荐
J***79391 小时前
MySQL语音识别案例
数据库·mysql·语音识别
y***86691 小时前
MySQL语音识别开发
数据库·mysql·语音识别
u***09642 小时前
MySQL索引优化
数据库·mysql
A***27952 小时前
MySQL外键约束导致的删除失败问题
数据库·mysql
共享家95272 小时前
QT-系统(多线程)
开发语言·数据库·qt
dessler2 小时前
MYSQL-物理备份(xtrabackup)使用指南
linux·数据库·mysql
5***26202 小时前
MySQL存储过程优化实例
数据库·mysql
hans汉斯2 小时前
基于改进YOLOv11n的无人机红外目标检测算法
大数据·数据库·人工智能·算法·yolo·目标检测·无人机
r***11333 小时前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django