当前位置: 首页 > news >正文

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}})

http://www.lryc.cn/news/624777.html

相关文章:

  • Flutter 多功能列表项:图标、文字与Switch组合
  • 在阿里云 CentOS Stream 9 64位 UEFI 版上离线安装 Docker Compose
  • 智能人形机器人:知识驱动的工业生产力革新
  • 神经网络显存占用分析:从原理到优化的实战指南
  • 实战架构思考及实战问题:Docker+‌Jenkins 自动化部署
  • 【论文阅读】-《GeoDA: a geometric framework for black-box adversarial attacks》
  • 动态规划:入门思考篇
  • 01.Linux小技巧
  • 【Python语法基础学习笔记】条件表达式和逻辑表达式
  • python遇到异常流程
  • 【verge3d】如何在项目里调用接口
  • Python函数:装饰器
  • Kafka 零拷贝(Zero-Copy)技术详解
  • C++面试中的手写快速排序:从基础到最优的完整思考过程
  • IEC EN 62040 不间断电源系统(UPS)安全要求标准
  • 【音视频】芯片、方案、市场信息收集
  • 恒创科技:日本服务器 ping 不通?从排查到解决的实用指南
  • 政策技术双轮驱动智慧灯杆市场扩容,塔能科技破解行业痛点
  • 【轨物交流】轨物科技与华为鲲鹏生态深度合作 光伏清洁机器人解决方案获技术认证!
  • 微算法科技(NASDAQ: MLGO)研究分片技术:重塑区块链可扩展性新范式
  • 【P38 6】OpenCV Python——图片的运算(算术运算、逻辑运算)加法add、subtract减法、乘法multiply、除法divide
  • Maven resources资源配置详解
  • 深度研究系统、方法与应用的综述
  • kubeadm方式部署k8s集群
  • zsh 使用笔记 命令行智能提示 bash智能
  • 视频因为264问题无法网页播放,解决方案之一:转化视频
  • 【matlab】考虑源荷不平衡的微电网鲁棒定价研究
  • 第7节 神经网络
  • grep命令要点、详解和示例
  • 淘宝扭蛋机小程序开发:引领电商娱乐化新潮流