博客
关于我
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/

你可能感兴趣的文章
msp430入门编程45
查看>>
MSSQL数据库查询优化(一)
查看>>
MSSQL数据库迁移到Oracle(二)
查看>>
MSSQL日期格式转换函数(使用CONVERT)
查看>>
MSSQL注入入门讲解:保护你的数据库免受攻击
查看>>
MSTP多生成树协议(第二课)
查看>>
MSTP是什么?有哪些专有名词?
查看>>
myeclipse将怎么java编译器改成jdk1.7的版本
查看>>
Mstsc 远程桌面链接 And 网络映射
查看>>
Myeclipse常用快捷键
查看>>
MyEclipse更改项目名web发布名字不改问题
查看>>
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>
mt-datetime-picker type="date" 时间格式 bug
查看>>
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
Mtab书签导航程序 LinkStore/getIcon SQL注入漏洞复现
查看>>
myeclipse配置springmvc教程
查看>>
MyEclipse配置SVN
查看>>
MTCNN 人脸检测
查看>>
MyEcplise中SpringBoot怎样定制启动banner?
查看>>