首页 > 数据库 >MongoDB(2): 查询、索引、聚合

MongoDB(2): 查询、索引、聚合

时间:2022-09-29 23:23:01浏览次数:64  
标签:聚合 name MongoDB db find 索引 key col

查询 find

  1. 条件操作符1
    $gt、$lt、$gte、$lte
  2. 条件操作符2
    $type:[key]
可选的 key 值如下:

1: 双精度型(Double)
2: 字符串(String)
3: 对象(Object)
4: 数组(Array)
5: 二进制数据(Binary data)
7: 对象 ID(Object id)
8: 布尔类型(Boolean)
9: 日期(Date)
10: 空(Null)
11: 正则表达式(Regular Expression)
13: JS 代码(Javascript)
14: 符号(Symbol)
15: 有作用域的 JS 代码(JavaScript with scope)
16: 32 位整型数(32-bit integer)
17: 时间戳(Timestamp)
18: 64 位整型数(64-bit integer)
-1: 最小值(Min key)
127: 最大值(Max key)

db.collections.find({"name":{$type:2}}  # 查找name是字符串的记录
  1. limt()和skip()
db.collections.find().limit(1).skip(1)
  1. MongoDB排序sort()
    db.collection.find().sort({key:1|-1})
    1升序,-1降序
db.collection.find().sort({"time":1})

索引

db.collection.createIndex(keys, options)
索引是数据库集合中一个文档或多个文档的值进行排序的一种结构
db.col.createIndex({"title":1,"description":-1})
options:
1.background: 创建索引过程是否会阻塞其它操作,默认为False后台方式创建,不影响其它
2.unique:是否为唯一索引
3. name:索引名词

索引操作:

  1. 查看集合索引:db.col.getIndexes()
  2. 查看集合索引大小:db.col.totalIndexSize()
  3. 删除集合所有所引:db.col.dropIndexes()
  4. 删除集合指定索引:db.col.dropindex(name)

聚合

db.collections.aggregate({管道:{表达式}})

常用管道命令

$project:修改输入文档的结构
$match:过滤数据
$limit:
$skip
$group
$sort
$geoNear

常用表达式

$sum, $avg, $min, $max, $first, $last
$push 将值加入一个数组中,
$addToSet将值加入一个数组中,会判断是否有重复的值,若相同的值在数组中已经不存在了则不加入

db.col.aggregate({$group:{_id:$by_col_name, total:{$sum:$col_name})


标签:聚合,name,MongoDB,db,find,索引,key,col
From: https://www.cnblogs.com/baiyutang7/p/16743480.html

相关文章

  • Oracle问题小记五:服务启动-索引-子查询-分页存储过程
    今天,把​​秋色园QBlog​​ 的数据导到Oracle中运行,重拾Oracle,过程的主要问题记录下: 1:服务启动问题这个问题发生多次了,那个毛网管没事又让人改计算名称,Oracle久没开了也......
  • MongoDB(1):数据库和集合基本操作
    MongoDB是一款非关系型数据库。传统的关系型数据库受到各种关系的累赘,各种数据形式的束缚难以处理海量数据以及超高并发的业务场景。而MongoDB又是一个非关系数据库中功能......
  • 千万级数据表选错索引导致的线上慢查询事故
     故障描述在7月24日11点线上某数据库突然收到大量告警,慢查询数超标,并且引发了连接数暴增,导致数据库响应缓慢,影响业务。看图表慢查询在高峰达到了每分钟14w次,在平时正常......
  • 索引优化与查询优化
    目录1、数据准备2、索引失效案例2.1全值匹配我最爱2.2最佳左前缀法则2.3主键插入顺序2.4计算、函数、类型转换(自动或手动)导致索引失效2.5类型转换导致索引失效2.6待......
  • MySQL高级 3:索引
    1.思考在图书馆中是如何找到一本书的?在字典中查找一个单词?   一般的应用系统对比数据库的读写比例在10:1左右(即有10次查询操作时有1次写的操作),而且插入操作和更新操......
  • Mongodb图形化工具Mongo Management Studio的初步使用记录
    工具官网下载地址:https://mms.litixsoft.de/ 使用免费版:  创建连接(可以测试下是否能连接) 可连接 点开数据库,点击对应集合 可以看到当前集合的存储数据......
  • MySQL索引
    什么是索引?索引类似于清华字典上的拼音查找页和部首查找页,通过索引我们能够快速的定位到需要查找的汉字。而索引实际上也是一张表,只不过这张表记录了key以及定位记录的字段......
  • Oracle 12C R2-新特性---增强索引压缩
    高级索引压缩可以很好的应用于所有支持的索引。使用高级索引压缩创建索引可以减少所有唯一和非唯一索引的大小,并显着提高压缩率,占用更少的空间,同时仍然可以有效地访问索引。......
  • MongoDB 4.4 数据库参数详细说明(二) - 一般参数
    1.connPoolMaxShardedConnsPerHost**作用:**设置用于与分片通信的legacy连接池的最大大小。池的大小不会阻止创建其他连接,但是会阻止连接池保留超出此限制的连接。**默认:**2......
  • MongoDB4.4新特性-不再一起发布相关工具
    从4.4版本开始,mongoexport等相关工具不再随着数据库安装包一起发布了,将单独作为一个安装包发布​​MongoDBDatabaseToolsproject:​​(https://docs.mongodb.com/databas......