博客
关于我
MongoDB语句
阅读量:795 次
发布时间:2023-02-09

本文共 1587 字,大约阅读时间需要 5 分钟。

MongoDB 是一个灵活、高效的数据库管理系统,广泛应用于 Web 应用、实时数据分析等场景。本文将详细介绍 MongoDB 的核心操作方法,包括库管理、数据操作等内容。

1. 库管理

在 MongoDB 中,库管理主要包括以下几个操作:

  • 显示库:可以使用 show dbs 命令查看当前数据库列表。
  • 切换库:使用 use 库名 命令可以切换到指定的数据库。
  • 创建库:如果需要新建一个数据库,可以通过 db 进行操作。
  • 删除库:要注意,删除数据库会永久删除所有数据,使用 db.dropDatabase() 命令进行。

2. 数据库表(集合)操作

集合是 MongoDB 中的基本数据结构,类似于关系数据库的表。以下是一些常用的操作命令:

  • 创建集合:可以通过 db.createCollection("表名", { capped: true, autoIndexId: true, size: 6142800, max: 10000 }) 创建固定大小的集合。
  • 删除集合:使用 db.表名.drop() 命令删除指定集合。
  • 检查集合属性:通过 db.表名.isCapped() 可以检查集合是否为固定大小集合。
  • 集合转换:可以使用 db.runCommand({"convertToCapped":"表名", size: 1000}) 将集合转换为固定大小集合。

3. 数据操作

MongoDB 提供了丰富的数据操作命令,支持增、删、改、查等操作。

增操作

  • 插入单条数据db.表名.insert({a:1, b:"asdf"})save({a:1, b:"asdf"})
  • 插入多条数据db.表名.insertMany([{"b":3}, {"c":4}])
  • 插入数据(自定义变量)db.表名.insert(varname),其中 varname 是定义好的变量。

改操作

  • 更新数据db.表名.update({'a':1}, {$set: {'a':100}}, {multi: true})multi 参数默认为 false,表示只更新一条记录。
  • 替换数据db.表名.save() 方法会替换集合中的文档,需要确保文档包含 _id 字段。
  • 删除数据db.表名.remove({"a":1}, true) 删除一条记录,db.表名.remove({}) 删除集合中的所有数据。

查操作

  • 查询数据db.表名.find({"a":"1"}) 查询符合条件的数据。
  • 复杂查询:支持使用 andornot 等逻辑运算,例如 db.表名.find({$or: [{"a":2}, {"a":3}]})
  • 文本查询db.表名.find({title: /教/}) 查询包含 "教" 字的文本。
  • 排序查询db.表名.find().sort({"a": -1}) 按字段 a 逆序排序。

聚合函数

  • 分组与汇总db.表名.aggregate([{$group: {_id: "$a", count: {$sum: "$b"}}}]]) 按字段 a 分组,计算字段 b 的总和。

4. 索引管理

  • 创建索引db.表名.createIndex({open: 1, close: 1}, {background: true}) 创建索引。
  • 删除索引db.表名.dropIndexes() 删除集合中的所有索引。
  • 查看索引db.表名.getIndexes() 查看集合的索引信息。

5. 其他操作

  • 数据库检查与修复db.repairDatabase() 用于修复数据库,确保数据完整性。
  • 全文索引db.表名.ensureIndex({"字段名": "text"}) 创建全文索引,支持文本搜索。

通过以上操作,可以对 MongoDB 的核心功能有全面了解。

转载地址:http://xsffk.baihongyu.com/

你可能感兴趣的文章
Mysql Innodb 锁机制
查看>>
MySQL InnoDB中意向锁的作用及原理探
查看>>
MySQL InnoDB事务隔离级别与锁机制深入解析
查看>>
Mysql InnoDB存储引擎 —— 数据页
查看>>
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql innodb通过使用mvcc来实现可重复读
查看>>
mysql insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目...
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
mysql jdbc连接url参数rewritebatchedstatements=true
查看>>
Mysql join原理
查看>>
MySQL JOIN原理
查看>>
MySQL Join算法与调优白皮书(二)
查看>>
MySql LAST_INSERT_ID 【插入多条数据时】
查看>>
Mysql MyISAM 压缩(前缀压缩)索引
查看>>
Mysql order by与limit混用陷阱
查看>>
Mysql order by与limit混用陷阱
查看>>