IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MongoDB查询相关命令、聚合函数 -> 正文阅读

[大数据]MongoDB查询相关命令、聚合函数

作者:recommend-box insert-baidu-box

查询语句,关键字时find

//查询集合内的所有文档
db.集合名.find()

去重

?db.student.distinct("age")

查询指定文档内的内容,可以用0=false,1=true

db.student.find({筛选条件},{需要显示的字段})
db.student.find({},{"_id":false})
db.student.find({"age":10})
db.student.find({"age":10},{"name":true})
db.student.find({"age":10},{"name":1,"_id":0})

例子1:

?

创建一个集合并插入数据

_id,name,age,color

//创建集合
use huluwa

//往集合中插入数据
db.huluwa.insert([
{"name":"大娃","age":1,"color":"red"},
{"name":"二娃","age":1,"color":"orange"},
{"name":"三娃","age":5,"color":"yellow"},
{"name":"四娃","age":5,"color":"green"},
{"name":"五娃","age":7,"color":"cyan"}
])

//查出年龄为1的颜色
db.huluwa.find({"age":5},{"color":1})
//查出颜色为红和黄的信息
db.huluwa.find({"color":{$in:["red","yellow"]}})
db.huluwa.find({$or:[{"color":"red"},{"color":"yellow"}]})
//查询年龄为5,并且颜色为黄的名字
db.huluwa.find({"age":5,"color":"yellow"},{"name":1})

//大于>:$get,小于<:$lt,大于等于>=$gte,小于等于<=:lte,不等于!=:$ne
//查询年龄大于5岁
db.huluwa.find({"age":{'$gt':5}})
//年龄小于3岁
db.huluwa.find({"age":{'$lt':3}}
//年龄大于等于5岁的葫芦娃信息
db.huluwa.find({"age":{"$gte":5}})
//年龄小于等于1岁的葫芦娃信息
db.huluwa.find({"age":{"$lte":1}})
//年龄不等于5岁的葫芦娃信息
db.huluwa.find({"age":{"$ne":5}})
//5≤age≤9岁的葫芦娃信息
db.huluwa.find({"age":{"$gte":5,"$lte":9}})

?

?例子2:

插入奥特曼数据,_id,name:(佐菲、杰克、艾斯、赛文、泰罗、雷欧、迪迦、梦比优斯)、

age(1000、9800、20000、4000、9999、8888、6666、77777)

//创建aotu集合
use aotu
//往集合中插入数据
db.aotu.insert([
{"_id":1,"name":"佐菲","age":1000},
{"_id":2,"name":"杰克","age":9800},
{"_id":3,"name":"艾斯","age":20000},
{"_id":4,"name":"赛文","age":4000},
{"_id":5,"name":"泰罗","age":9999},
{"_id":6,"name":"雷欧","age":8888},
{"_id":7,"name":"迪迦","age":6666},
{"_id":8,"name":"梦比优斯","age":77777},
])

//查询年龄大于8000岁的奥特曼名字
db.aotu.find({"age":{"$gt":8000}},{"name":1,"_id":0})
//查询年龄小于60000岁的奥特曼信息
db.aotu.find({"age":{"$lt":60000}})
//查询年龄大于等于4000岁的奥特曼名字
db.aotu.find({"age":{"$gte":4000}})
//查询年龄小于等于70000岁的奥特曼名字
db.aotu.find({"age":{"$lte":70000}})
//查询10000<age>77777岁的奥特曼信息
db.aotu.find({"age":{"$gt":10000,"$lt":77777}})

?

count

//查询返回结果中文档的数量
db.aotu.find().count()
//查询大于60000岁的人数
db.aotu.find({"age":{"$gt":60000}}).count()

limit、skip

//查询返回结果的指定条数limit()
db.aotu.find().limit(4)

//指定跳过的文档条数skip()
//查询从四条开始的2条数据
db.aotu.find().limit(3).skip(3)

?

排序sort

//对所有文档进行排序sort()
//升序1
db.aotu.find().sort({"age":1})
//降序-1
db.aotu.find().sort({"_id":-1})

//查询年龄最大的
db.aotu.find({},{"name":1,"_id":0}).sort({"age":-1}).limit(1)
//查询年龄最小的
db.aotu.find({},{"name":1}).sort({"age":1}).limit(1)

?

运算符

//$group:分组的条件
//_id:表示分组的字段
//年龄总和:表示结果的字段名
//$sum:求和表达式
//$age:代表要求和的字段名
db.aotu.aggregate([{'$group':{"_id":1,"年龄总和":{"$sum":"$age"}}}])

//最大值:$max
db.aotu.aggregate([{"$group":{"_id":1,"最大值":{'$max':"$age"}}}])
//最小值:$min
db.aotu.aggregate([{"$group":{"_id":1,"最小值":{"$min":"$age"}}}])
//平均值:$avg
db.aotu.aggregate([{"$group":{"_id":1,"平均数":{"$avg":"$age"}}}])

模糊查询

//返回name字段中包含‘斯’的文档数据
db.aotu.find({"name":/斯/})
//返回name字段中以‘梦’开头的文档数据
db.aotu.find({"name":/^梦/})

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:47:11  更:2022-04-26 11:47:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:52:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码