MongoDB常用命令小解析

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 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

相关文章
|
NoSQL 数据可视化 MongoDB
Windows MongoDB的安装及配置图文说明(非常详细)
Windows MongoDB的安装及配置图文说明(非常详细)
1498 0
|
NoSQL MongoDB 数据库
Mongodb的基本使用
Mongodb的基本使用
333 0
|
2月前
|
存储 监控 NoSQL
MongoDB索引知识全解析
MongoDB索引是提升查询性能的核心工具,通过构建B树数据结构,将全集合扫描(O(n))优化为索引查找(O(log n)),显著提高响应速度。本文从索引类型、设计原则、性能调优及管理实践展开解析,助力数据库高效运行。
146 1
|
监控 NoSQL MongoDB
MongoDB的用户管理总结
这篇文章总结了MongoDB的用户管理,包括用户创建、角色分配、用户认证、账号密码配置以及用户删除等操作。
907 1
|
8月前
|
存储 JSON NoSQL
MongoDB常用命令
本文介绍了将文章评论数据存储到MongoDB中的操作方法,包括数据库和集合的基本操作。主要内容涵盖:选择与创建数据库(如`articledb`)、数据库删除、集合的显式与隐式创建及删除、文档的CRUD操作(插入、查询、更新、删除)。此外,还详细说明了分页查询、排序查询以及统计查询的方法,例如使用`limit()`、`skip()`实现分页,`sort()`进行排序,`count()`统计记录数。通过实例展示了如何高效管理MongoDB中的数据。
|
存储 NoSQL 关系型数据库
MongoDB基本命令
MongoDB基本命令
251 0
|
JSON NoSQL 安全
MongoDB的导入导出、备份恢复总结
这篇文章是关于MongoDB的导入导出、备份恢复操作的总结。
4132 4
|
存储 JSON NoSQL
MongoDB入门-MongDB介绍和安装
MongoDB是一个基于分布式文件存储 [1] 的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
1950 1
|
NoSQL Linux MongoDB
MongoDB配置用户名和密码
MongoDB配置用户名和密码
2352 0
|
SQL NoSQL MongoDB
MongoDB 查询文档
10月更文挑战第15天
406 1