mongo中常用的增删改查
db.students.find();
//按性别分组,并显示每组的姓名
db.students.aggregate({
$group:{
_id:'$sex',
name:{$push:'$name'}
}
})
//$$ROOT将整个文档放入数组中
db.students.aggregate({
$group:{
_id:'null',
name:{$push:'$$ROOT'}
}
})
//按照性别分组,求平均年龄
db.students.aggregate(
{$group:{_id:'$sex',avg:{$avg:'$age'}}}
)
db.city.find()
//统计出每个country/province下的userid的数量(同一个userid只统计一次)
db.city.aggregate({
$group:{
_id:{country:'$country',province:'$province',userid:'$userid'},
count:{$sum:1}
}
},
{$group:{
_id:{province:'$_id.province'},
count:{$sum:1}
}})
//向car集合里插入数据
db.car.insertMany([
{carname:'大众',color:'red',price:120},
{carname:'奔弛',color:'bule',price:400000},
{carname:'宝马',color:'green',price:300000},
{carname:'奔弛',color:'red',price:600000},
{carname:'大众',color:'yellow',price:100},
{carname:'大众',color:'yellow',price:120}
])
db.car.find()
//按照carname分类,并将每个分类里的price透视
db.car.aggregate({
$group:{_id:'$carname',
money:{$push:'$price'}}
})
//统计出大众车价格有哪些,去重
db.car.aggregate(
{$group:{_id:{carname:'$carname',price:'$price'}}},
{$group:{_id:'$_id.carname',money:{$push:'$_id.price'}}},
{$match:{_id:'大众'}}
)
db.p2p.opinion.find()
//统计每个作者出现的次数,集合名加方括号引号出现22条数据,按照原来方法不加方括号引号会出现20个数据,可能是集合名称不太规范,不要有点
db['p2p.opinion'].aggregate({
$group:{
_id:'$author',
count:{$sum:1}
}
})
//1.取出前10条,
db.p2p.opinion.aggregate(
{$limit:10})
//2.过滤出souce=金评媒,并且tags=平台跑路的
db.p2p.opinion.aggregate(
{$match:{source:'金评媒',tags:{$regex:'.*平台跑路.*'}}}
)
//1.过滤出所有cmt_cnt>=0的,并且title不为空的数据
db.p2p.aggregate(
{$match:{cmt_cnt:{$gte:'0'},title:{$ne:''}}},
{$project:{cmt_cnt:1,title:1}}
)
//1.根据所有"author"分组,取出所有title
db.p2p.aggregate(
{$group:{_id:'$author',money:{$push:'$title'}}}
)
//2.跳过十条取出十条数据,根据$$ROOT找到每条信息的title,author,和itme_pud_time(只显示这三项)
db.p2p.aggregate(
{$skip:10},
{$limit:10},
{$project:{title:1,author:1,item_pub_time:1,_id:0}}
)
//3.过滤出所有cmt_cnt为0的数据,找到所有title,并且找到item_pud_time时间
db.p2p.aggregate(
{$match:{cmt_cnt:'0'}},
{$project:{title:1,item_pub_time:1,_id:0}}
)
//4.找到所有url为空的信息,将空的url加上https://www.baidu.com
db.p2p.update({url:''},{$set:{url:'https://www.baidu.com'}},{multi:true})
db.p2p.find({url:'https://www.baidu.com'}).count()
//不操作数据库,用管道只在显示的位置换上新的url
db.p2p.aggregate(
{$match:{url:''}},
{$project:{url:'https://www.baidu.com',title:1}}
)
//5.找到所有cmt_cnt为0并且source为金评媒的信息,利用porject只显示title,content
db.p2p.aggregate(
{$match:{cmt_cnt:'0',source:'金评媒'}},
{$project:{title:1,content:1,_id:0}}
)
//6.根据source分组,输出属于p2p理财的新闻有多少记录
db.p2p.aggregate(
{$group:{_id:'$source',count:{$sum:1}}},
{$match:{_id:'P2P理财'}}
)
//7.过滤出item_pud_time 2015-12-15之后的信息,输出平台跑路的平台名称
db.p2p.aggregate(
{$match:{item_pub_time:{$gt:'2015-12-15'},tags:{$regex:'平台跑路'}}}
)
//8.根据source分组,找到平台跑路的有多少个
db.p2p.aggregate(
{$match:{tags:{$regex:'平台跑路'}}},
{$group:{_id:{source:'$source',tags:'$tags'},count:{$sum:1}}}
//{$match:{_id.tags:{$regex:'平台跑路'}}} 错的
)
//9.过滤出所有p2p理财和金评媒的新闻根据id进行降序排列,找到前3条信息的title
db.p2p.aggregate(
{$match:{$or:[{source:{$regex:'金评媒'}},{source:{$regex:'P2P理财'}}]}},
{$sort:{_id:-1}},
{$limit:3}
)
mongo中常用的增删改查的更多相关文章
- Yii2 中常用的增删改查操作总结
一.新增 1.使用save() $model = new User(); $model->name = 'test'; $model->phone = '13000000000'; $mo ...
- 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查
一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...
- Hbase常用操作(增删改查)
Hbase常用操作(增删改查) [日期:2014-01-03] 来源:Linux社区 作者:net19880504 [字体:大 中 小] 运行Eclipse,创建一个新的Java工程“HBa ...
- 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...
- 详解node + mongoDb(mongoDb安装、运行,在node中连接、增删改查)
一.序言 好久没写博客了,这次主要聊聊 node 和 mongoDb . 先说明一下技术栈 node + express + mongoose + mongoDb.这篇博客,主要讲述 mongoDb ...
- mysql基础之mariadb对表中数据的增删改查
复习: 查看表:show tables; 创建表:create table 表名(字符类型); 删除表:drop table 表名; 对表的结构进行增删改查: 查看表结构:desc 表名; 修改表-添 ...
- MVC模式:实现数据库中数据的增删改查功能
*.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...
- MVC设计模式((javaWEB)在数据库连接池下,实现对数据库中的数据增删改查操作)
设计功能的实现: ----没有业务层,直接由Servlet调用DAO,所以也没有事务操作,所以从DAO中直接获取connection对象 ----采用MVC设计模式 ----采用到的技术 .MVC设计 ...
- 数据库中简单的增删改查(CRUD)
一切都是基于数据,而对数据的管理都离不开数据库.最近学到数据库的简单操作,所以写下这篇文章,总结一下学习到的知识.浅陋之处,多多见谅. 补充一下:一直弄不清SQL Server,Mysql ,以及Or ...
随机推荐
- 美团小程序框架mpvue蹲坑指南
美团小程序框架mpvue(花名:没朋友)蹲坑指南 第一次接触小程序大概是17年初,当时小程序刚刚内侧,当时就被各种限制折腾的死去活来的,单向绑定, 没有promise,请求数限制,包大小限制,各种反人 ...
- 当linux报 “-bash: fork: 无法分配内存”
“-bash: fork: 无法分配内存”,发现连了好多终端,然后断开了一个终端,然后这边终端可以敲命令了 [root@172.16.31.105 /home/www/test]# free -m ...
- event.target 和 event.currentTarget 的区别
event.target This property of event objects is the object the event was dispatched on. It is differe ...
- git使用习惯
1.每早一更新,提交前更新 git pull -u origin master: master(master为分支名称) 2.每晚一提交: git add . (注:别忘记后面的.此操作是把文件夹下面 ...
- Python金融大数据分析PDF
Python金融大数据分析(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1CF2NhbgpMroLhW2sTm7IJQ 提取码:clmt 复制这段内容后打开百度网盘 ...
- EasyUI 分页 偶遇 问题
当 存在大量 重复 数据字段的 时候 entity.AsNoTracking().ToList().Skip((page.pageNumber - 1) * page.rows).Take(page. ...
- js面向对象关键点
函数加new 工作流程: (1) 创建一个新对象: => var this = new Object(); (2) 将构造函数的作用域赋给新对象(因此 this 就指向了这个新对象) : (3) ...
- Dev_GridView自定义表格
#region 自定义表格 //初始化测斜分析数据表 BandedGridView view = advBandedGridView1 as BandedGridView; view.BeginUpd ...
- SyntaxError: invalid character in identifier(Python)
在写博客时直接将博客上的代码复制运行后发现错误SyntaxError: invalid character in identifier,我以为是l(小L)写成了1,改了还是不行. 上网查了下,发现原来 ...
- 杂_小技巧_将网页上的内容通过亚马逊邮箱传到kindle中
所需条件 1.kindle要联网 2.要有亚马逊邮箱 3.要有微信,电脑上或者手机上 操作步骤: 1.找到你想要传送到kindle上的文章网页 2.在微信中关注“亚马逊kindle服务号”并且按照里边 ...