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

MongoDB常用命令

数据库操作

显示所有数据库

show dbs

切换/创建数据库 (如果数据库不存在则创建)

use <database_name>

删除当前数据库

db.dropDatabase()

查看当前数据库

db

查看数据库状态

db.stats()


集合操作

显示当前数据库中的所有集合

show collections

创建集合

db.createCollection("<collection_name>")

删除集合

db.<collection_name>.drop()

重命名集合

db.集合名.renameCollection("新集合名")

文档操作

插入单个文档(属于 MongoDB 3.2+ 引入的现代 CRUD API

db.<collection_name>.insertOne({key1: value1, key2: value2, ...})

插入多个文档(属于 MongoDB 3.2+ 引入的现代 CRUD API

db.<collection_name>.insertMany([{key1: value1, key2: value2},{key1: value3, key2: value4},...
])

插入 单个文档 或 多个文档( MongoDB 早期版本的通用插入方法)

// 插入单个文档
db.users.insert({ name: "Alice", age: 25 });// 插入多个文档
db.users.insert([{ name: "Bob", age: 30 },{ name: "Charlie", age: 28 }
]);

新项目优先使用 insertOne() 和 insertMany():语法更清晰,返回值更易用。符合现代 MongoDB 的 API 设计规范。

避免混用 insert():除非需要兼容旧版本或特定场景。

查询所有文档

db.<collection_name>.find()

 

排序查询结果

db.<collection_name>.find().sort({key: 1})  // 1为升序,-1为降序

条件查询

db.<collection_name>.find({key: value})

查询第一条记录

db.<collection_name>.findOne()

限制返回数量

db.<collection_name>.find().limit(5)

更新单个文档

db.<collection_name>.updateOne({filter_key: filter_value},  // 过滤条件{$set: {key1: new_value1, key2: new_value2}}  // 更新操作
)

更新多个文档

db.<collection_name>.updateMany({filter_key: filter_value},{$set: {key1: new_value1, key2: new_value2}}
)

替换文档

db.<collection_name>.replaceOne({filter_key: filter_value},{new_document}
)

删除单个文档

db.<collection_name>.deleteOne({key: value})

删除多个文档

db.<collection_name>.deleteMany({key: value})

实用命令

获取命令帮助

db.help()

获取集合方法帮助

db.<collection_name>.help()

查看当前数据库

db.getName()

查看MongoDB版本

db.version()

相关文章:

  • 【JAVA】十三、基础知识“接口”精细讲解!(二)(新手友好版~)
  • uniapp-商城-33-shop 布局搜索页面以及u-search
  • 云原生--基础篇-3--云原生概述(云、原生、云计算、核心组成、核心特点)
  • 【2025最新Java面试八股】如何理解MySQL的MVCC机制?
  • DeepSeek和Excel结合生成动态图表
  • 「数据可视化 D3系列」入门第十二章:树状图详解与实践
  • K8S探针的应用
  • Rook 部署 Ceph 集群及 Kubernetes 存储对接实战
  • 【微服务】SpringBoot制作Docker镜像接入SkyWalking详解
  • Anaconda 与 Miniconda 的差异详解
  • [论文阅读]ConfusedPilot: Confused Deputy Risks in RAG-based LLMs
  • 树莓派学习专题<8>:使用V4L2驱动获取摄像头数据--获取摄像头支持的分辨率
  • 进行性核上性麻痹饮食指南:科学膳食提升生活质量
  • SQL中函数
  • C# 跨进程 临界区 互斥 进程锁
  • 轻量级景好鼠标录制器
  • 基于javaweb的SSM+Maven小区失物招领系统设计与实现(源码+文档+部署讲解)
  • 从代码学习深度学习 - 编译器和解释器 PyTorch 版
  • 一个C#扩展库,让Dapper的CRUD操作更简单
  • unity脚本-FBX自动化模型面数校验
  • 金发科技去年净利增160%,机器人等新领域催生材料新需求
  • 旁白丨无罪后领到国家补偿,一位退休教师卸下了“包袱”
  • 重返母校:哈佛大学医学院博士后陈则宇入职北大基础医学院
  • 复旦大学史地学系在北碚
  • 重大虚开发票偷税骗补案被查处:价税2.26亿,涉700余名主播
  • 魔都眼|上海半马鸣枪:白金标运动员、“箱根之子”齐参赛