博客
关于我
MongoDB语句
阅读量:791 次
发布时间: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 replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql replace用法
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select as 多个_MySQL 中 根据关键字查询多个字段
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql skip-grant-tables_MySQL root用户忘记密码怎么办?修改密码方法:skip-grant-tables
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL slow_query_log慢查询日志配置详解
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MySQL sql_mode=only_full_group_by问题解决办法
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql sysbench测试安装及命令
查看>>
mysql Timestamp时间隔了8小时
查看>>
mysql tinyint 1 boolean,MySQL tinyint to boolean
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
MySQL Troubleshoting:Waiting on query cache mutex
查看>>