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中常用的增删改查的更多相关文章

  1. Yii2 中常用的增删改查操作总结

    一.新增 1.使用save() $model = new User(); $model->name = 'test'; $model->phone = '13000000000'; $mo ...

  2. 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查

    一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...

  3. Hbase常用操作(增删改查)

    Hbase常用操作(增删改查) [日期:2014-01-03] 来源:Linux社区  作者:net19880504 [字体:大 中 小]     运行Eclipse,创建一个新的Java工程“HBa ...

  4. 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器

    一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...

  5. 详解node + mongoDb(mongoDb安装、运行,在node中连接、增删改查)

    一.序言 好久没写博客了,这次主要聊聊 node 和 mongoDb . 先说明一下技术栈  node + express + mongoose + mongoDb.这篇博客,主要讲述 mongoDb ...

  6. mysql基础之mariadb对表中数据的增删改查

    复习: 查看表:show tables; 创建表:create table 表名(字符类型); 删除表:drop table 表名; 对表的结构进行增删改查: 查看表结构:desc 表名; 修改表-添 ...

  7. MVC模式:实现数据库中数据的增删改查功能

    *.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...

  8. MVC设计模式((javaWEB)在数据库连接池下,实现对数据库中的数据增删改查操作)

    设计功能的实现: ----没有业务层,直接由Servlet调用DAO,所以也没有事务操作,所以从DAO中直接获取connection对象 ----采用MVC设计模式 ----采用到的技术 .MVC设计 ...

  9. 数据库中简单的增删改查(CRUD)

    一切都是基于数据,而对数据的管理都离不开数据库.最近学到数据库的简单操作,所以写下这篇文章,总结一下学习到的知识.浅陋之处,多多见谅. 补充一下:一直弄不清SQL Server,Mysql ,以及Or ...

随机推荐

  1. Nginx实现URL重写

    本文利用Nginx实现URL重写,本文使用Nginx与静态页面配合重写URL. 1.准备工作. 结合本文场景,需要安装Nginx. 1.1 关于Linux系统安装Nginx可以参考我的文章---(传送 ...

  2. centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'

    centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法 3.7版本需要一个新的包libffi-de ...

  3. nodejs+koa在header里面添加header信息

    参考:https://koa.bootcss.com/ ctx.append('resultCode', '0000'); ctx.append('resultMessage', 'success') ...

  4. 程序一 用记事本建立文件src.dat,其中存放若干字符。编写程序,从文件src.dat中读取数据,统计其中的大写字母、小写字母、数字、其它字符的个数,并将这些数据写入到文件test.dat中。

    用记事本建立文件src.dat,其中存放若干字符.编写程序,从文件src.dat中读取数据,统计其中的大写字母.小写字母.数字.其它字符的个数,并将这些数据写入到文件test.dat中. #inclu ...

  5. python中栈的单链表实现

    参考博客:https://www.cnblogs.com/stacklike/p/8284550.html 基于列表的简单实现 # 先进后出 # 以列表实现的简单栈 class SimpleStack ...

  6. Node.js_ express.Router 路由器_模块化管理路由

    路由器 express.Router 路由器 模块化管理 路由 基本使用: 路由模块 1. 引入 express const express = require('express'); 其他相关模块 ...

  7. Source Insight4

    创建工程: File->open                        打开创建的工程 同步文件: 方便跟踪 Project->Synchronize   Files 打开小窗口 ...

  8. Servlet.service() for servlet [jsp] in context with path [/Healthy_manager] threw exception [Unable to compile class for JSP] with root cause java.lang.IllegalArgumentException: Page directive: inval

    严重: Servlet.service() for servlet [jsp] in context with path [/Healthy_manager] threw exception [Una ...

  9. OO第三次博客作业

    一.规格化的发展历史 最早的程序设计都是面向机器,从一开始使用的机器语言,到后面的汇编语言,都是面向机器的语言,编写困难也容易出错.随着需求的发展,程序的编写从面向机器走向面向过程,但由于goto语句 ...

  10. linux --- Ansible篇

    ansible背景 1.什么是ansible? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优 ...