你是否曾经想亲手作NoSQL,但又不想处理本地安装、环境变量或错误带来的麻烦?npm
在本指南中,我们将用MongoDB Atlas从零到功能齐全的数据库,只需几分钟。我们将在你的浏览器内创建集群、插入数据并执行高级查询。
我们将涵盖的内容:
搭建免费云集群
创建数据库与收藏
插入虚拟数据(JSON)
运行聚合流水线
正则表达式过滤(模式匹配)
更新与删除文档
让我们开始吧!🚀
1. 创建一个免费的MongoDB图集集群
首先,我们需要一个服务器。幸运的是,MongoDB提供了一个"永久免费"的套餐。
注册(或使用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 界面为数据探索和作提供了强大的界面。