当前位置: 首页 > 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.dtcms.com/a/337940.html

相关文章:

  • 2025 世界机器人大会:前沿科技闪耀,机器人板块未来可期
  • Android 圆形和圆角矩形总结
  • MyCAT完整实验报告
  • Unity作为库导入Android原生工程
  • AVB(Android Verified Boot)中vbmeta结构浅析
  • Unity2022打包安卓报错的奇葩问题
  • Java面试宝典:Redis 入门与应用
  • 【OpenAI】 GPT-4o-realtime-preview 多模态、实时交互模型介绍+API的使用教程!
  • 线程间同步机制与进程间通信
  • 数据处理和统计分析 —— Pandas 基础(附数据集)
  • SMTPman,smtp ssl助力安全高效邮件传输!
  • redhat9从github下拉软件包一直报错
  • petalinux2023.1编译pmu-rom-native...fetch error问题
  • 39-Linux下安装python
  • BPO(Business Process Optimization,业务流程优化)
  • FPGA驱动量子革命:微美全息(NASDAQ:WIMI)实现数字量子计算关键验证
  • 任务六 歌手页面功能开发
  • single cell ATAC(11)ArchR鉴定标记Peak
  • Spring AI RAG 检索增强 应用
  • RAG深入解读:文本分块、混合检索、重排序、bge微调(工程落地实践)
  • Android 流式布局实现方案全解析
  • Android输入框文字不垂直居中
  • Maven Shade Plugin 插件使用说明
  • 【音视频】ISP能力
  • 阿里云odps和dataworks的区别
  • 多数据源 Demo
  • 机器学习之数据预处理(二)
  • HBM CPU Cache / GPU Cache 的关系
  • 第一阶段C#-14:委托,事件
  • ubuntu 下载安装tomcat简单配置(傻瓜式教程)