MongoDB常用命令小解析

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: MongoDB常用命令整理,涵盖数据库、集合、文档操作及索引管理、聚合查询、备份恢复等高级功能,助力高效数据库操作与管理。

MongoDB作为非关系型数据库,其常用命令涵盖数据库、集合、文档操作及高级功能,以下是核心命令的分类整理:

一、数据库操作
创建/切换数据库
use DATABASE_NAME
若数据库不存在则自动创建,存在则切换。
查看所有数据库
show dbs 或 show databases
删除当前数据库
javascript
use DATABASE_NAME // 切换到目标库
db.dropDatabase() // 执行删除
查看当前数据库
db 或 db.getName()
二、集合操作
显式创建集合
db.createCollection("collection_name", {options})
示例:创建固定大小集合(单位:字节)
javascript
db.createCollection("logs", {capped: true, size: 1048576})
隐式创建集合
直接插入文档时自动创建集合:
db.collection_name.insert({key: value})
查看所有集合
show collections 或 show tables
删除集合
db.collection_name.drop()
返回值:true(成功)或 false(失败)
三、文档操作

  1. 插入文档
    单条插入
    db.collection.insertOne({key: value})
    示例:
    javascript
    db.users.insertOne({name: "Alice", age: 25})
    批量插入
    db.collection.insertMany([{...}, {...}])
    示例:
    javascript
    db.users.insertMany([
    {name: "Bob", age: 30},
    {name: "Charlie", age: 35}
    ])
  2. 查询文档
    基本查询
    db.collection.find({key: value})
    示例:查询年龄大于25的用户
    javascript
    db.users.find({age: {$gt: 25}})
    条件查询
    $lt(小于)、$lte(小于等于)、$gt(大于)、$gte(大于等于)、$ne(不等于)
    $in(包含)、$nin(不包含)
    示例:查询年龄在18~30岁之间的用户
    javascript
    db.users.find({age: {$gte: 18, $lte: 30}})
    模糊查询
    使用正则表达式:
    javascript
    db.users.find({name: /Alice/}) // 包含"Alice"
    分页查询
    skip()(跳过)、limit()(限制)
    示例:每页10条,查询第2页
    javascript
    db.users.find().skip(10).limit(10)
    排序查询
    sort({key: 1/-1})(1升序,-1降序)
    示例:按年龄降序排列
    javascript
    db.users.find().sort({age: -1})
    统计数量
    db.collection.countDocuments({key: value})
    示例:统计年龄大于25的用户数
    javascript
    db.users.countDocuments({age: {$gt: 25}})
  3. 更新文档
    局部更新
    db.collection.updateOne({filter}, {$set: {key: value}})
    示例:将用户"Alice"的年龄改为26
    javascript
    db.users.updateOne({name: "Alice"}, {$set: {age: 26}})
    批量更新
    db.collection.updateMany({filter}, {$set: {key: value}})
    示例:将所有年龄大于30的用户状态改为"senior"
    javascript
    db.users.updateMany({age: {$gt: 30}}, {$set: {status: "senior"}})
    数值增减
    使用$inc操作符:
    javascript
    db.users.updateOne({name: "Alice"}, {$inc: {age: 1}}) // 年龄+1
  4. 删除文档
    条件删除
    db.collection.deleteOne({filter})
    示例:删除用户"Alice"
    javascript
    db.users.deleteOne({name: "Alice"})
    批量删除
    db.collection.deleteMany({filter})
    示例:删除所有年龄大于30的用户
    javascript
    db.users.deleteMany({age: {$gt: 30}})
    清空集合
    db.collection.drop()
    注意:此操作会删除集合及其索引,速度比deleteMany快。
    四、索引管理
    创建索引
    db.collection.createIndex({key: 1/-1})
    示例:为"name"字段创建升序索引
    javascript
    db.users.createIndex({name: 1})
    查看索引
    db.collection.getIndexes()
    删除索引
    db.collection.dropIndex("index_name")
    五、聚合查询
    使用aggregate()进行复杂数据分析:

javascript
db.orders.aggregate([
{$match: {status: "completed"}}, // 筛选已完成订单
{$group: {_id: "$customerId", total: {$sum: "$amount"}}} // 按客户分组统计消费总额
])
六、备份与恢复
备份数据库
bash
mongodump -d database_name -o /backup/path
恢复数据库
bash
mongorestore -d database_name /backup/path

相关文章
|
存储 JSON NoSQL
3-MongoDB常用命令
MongoDB常用命令
593 2
|
NoSQL 数据可视化 MongoDB
Windows MongoDB的安装及配置图文说明(非常详细)
Windows MongoDB的安装及配置图文说明(非常详细)
1630 0
|
SQL NoSQL MongoDB
MongoDB---基本命令
MongoDB---基本命令
MongoDB---基本命令
|
NoSQL MongoDB 数据库
Mongodb的基本使用
Mongodb的基本使用
418 0
|
5月前
|
存储 NoSQL 关系型数据库
MongoDB常用命令
本文介绍了MongoDB中针对文章评论数据的数据库、集合和文档操作方法。包括数据库的创建与删除、集合的显式与隐式创建及删除、文档的增删改查及高级查询操作(如分页、排序、统计),适用于快速掌握MongoDB基础操作。
278 0
|
5月前
|
存储 监控 NoSQL
MongoDB索引知识全解析
MongoDB索引是提升查询性能的核心工具,通过构建B树数据结构,将全集合扫描(O(n))优化为索引查找(O(log n)),显著提高响应速度。本文从索引类型、设计原则、性能调优及管理实践展开解析,助力数据库高效运行。
287 1
|
NoSQL MongoDB 数据库
MongoDB 删除集合
10月更文挑战第14天
450 1
|
监控 NoSQL MongoDB
MongoDB的用户管理总结
这篇文章总结了MongoDB的用户管理,包括用户创建、角色分配、用户认证、账号密码配置以及用户删除等操作。
1408 1
|
JSON NoSQL 安全
MongoDB的导入导出、备份恢复总结
这篇文章是关于MongoDB的导入导出、备份恢复操作的总结。
4639 4
|
存储 NoSQL 关系型数据库
MongoDB基本命令
MongoDB基本命令
441 0