当前位置: 首页 > 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自动化模型面数校验
  • 浙江一文旅局长五一亲自带团,去年专门考取了导游证
  • 浙江“胖都来”开业多位明星祝贺,“胖东来”称已取证投诉,律师:碰瓷侵权
  • 媒体:机票盲盒值不值得开?年轻人正用行为博弈的逻辑重构规则
  • 新华每日电讯头版聚焦上海:科创高地向未来
  • 哈马斯:愿与以色列达成为期5年的停火协议
  • 空间方法:一周城市生活