MongoDB新手教学
目录
一、MongoDB 基础认知
什么是 MongoDB?
二、环境准备
安装 MongoD
三,MongoDB 核心操作
1, 数据库操作
2, 集合(类似表)操作
3, 文档(类似行)操作
插入文档
查询文档
更新文档
删除文档
一、MongoDB 基础认知
什么是 MongoDB?
MongoDB 是一个基于文档的分布式数据库,与传统关系型数据库(如 MySQL)的主要区别在于:
不使用 "表(Table)" 和 "行(Row)",而是用 "集合(Collection)" 和 "文档(Document)"
文档以 JSON-like 格式(BSON,二进制 JSON)存储,结构灵活,无需预定义 schema
适合存储非结构化 / 半结构化数据(如日志、用户画像、商品详情等)
二、环境准备
安装 MongoDB
官网下载:Download MongoDB Community Server | MongoDB
安装完成后,默认端口为27017
,启动服务:
三,MongoDB 核心操作
1, 数据库操作
// 查看所有数据库
show dbs// 切换到目标数据库(不存在则自动创建)
use mydb // 切换到mydb数据库// 查看当前所在数据库
db// 删除当前数据库(谨慎操作!)
db.dropDatabase()
2, 集合(类似表)操作
// 创建集合
db.createCollection("users") // 创建名为users的集合// 查看当前数据库的所有集合
show collections// 删除集合
db.users.drop() // 删除users集合
3, 文档(类似行)操作
插入文档
// 插入单个文档
db.users.insertOne({name: "张三",age: 25,gender: "男"
})// 插入多个文档
db.users.insertMany([{name: "李四", age: 30, gender: "女"},{name: "王五", age: 28, gender: "男", hobby: ["打球", "听歌"]}
])
查询文档
// 查询所有文档(格式化输出)
db.users.find().pretty()// 条件查询:年龄大于26的用户
db.users.find({age: {$gt: 26}}).pretty()// 条件查询:地址在北京市的用户
db.users.find({"address.city": "北京"}).pretty()// 只显示name和age字段(_id默认显示,用0隐藏)
db.users.find({}, {name: 1, age: 1, _id: 0}).pretty()// 按年龄升序排序(1升序,-1降序)
db.users.find().sort({age: 1}).pretty()// 只看前2条结果
db.users.find().limit(2).pretty()
更新文档
// 更新单个文档:将张三的年龄改为26
db.users.updateOne({name: "张三"}, // 条件{$set: {age: 26}} // 要更新的内容
)// 更新多个文档:所有年龄小于28的用户添加"isYoung: true"字段
db.users.updateMany({age: {$lt: 28}},{$set: {isYoung: true}}
)
删除文档
// 删除单个文档:删除name为李四的文档
db.users.deleteOne({name: "李四"})// 删除多个文档:删除所有没有hobby字段的文档
db.users.deleteMany({hobby: {$exists: false}})