博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python爬虫笔记-day5
阅读量:7078 次
发布时间:2019-06-28

本文共 1831 字,大约阅读时间需要 6 分钟。

mongodb插入数据

db.collecion.insert({}) 插入数据,_id存在就报错
db.collection.save({}) 插入数据,_id存在会更新

mongodb的更新操作

db.test1000.update({name:"xiaowang"},{name:"xiaozhao"})
把name为xiaowang的数据替换为{name:"xiaozhao"}
db.test1000.update({name:"xiaohong"},{$set:{name:"xiaozhang"}})
把name为xiaowang的数据name的值更新为xiaozhang
db.test1000.update({name:"xiaozhang"},{$set:{name:"xiaohong"}},{multi:true})
{multi:true}达到更新多条的目的

mongodb删除

db.test1000.remove({name:"xiaohong"},{justOne:true})
默认情况会删除所有满足条件的数据,{justOne:true}能达到只删除一条的效果

mongodb的count方法

db.collection.find({条件}).count()
db.collection.count({})

mongodb的投影

投影:选择返回结果的字段
db.collection.find({条件},{name:1,_id:0})
1._id默认会显示,置为0不显示
2.出了_id之外的其他字段,如果不显示,不写,不能写为0

$group的注意点

$group对应的字典中有几个键,结果中就有几个键
分组依据需要放到_id后面
取不同的字段的值需要使用gender,$age`
取字典嵌套的字典中的值的时候$_id.country
能够同时按照多个键进行分组{$group:{_id:{country:"$country",province:"$province"}}}
结果是:{_id:{country:"",province:""}

编辑器写mongodb语句

db.stu.find(

{$or:[{age:{$gte:20}},{hometown:{$in:["桃花岛","华⼭"]}}]}
)

#按照gender进行分组,获取不同组数据的个数和平均年龄

db.stu.aggregate(
{$group:{_id:"$gender",count:{$sum:1},avg_age:{$avg:"$age"}}},
{$project:{gender:"$_id",count:1,avg_age:"$avg_age",_id:0}}
)

按照hometown进行分组,获取不同组的平均年龄

db.stu.aggregate(

{$group:{_id:"$hometown",mean_age:{$avg:"$age"}}}
)
#使用$group统计整个文档
db.stu.aggregate(
{$group:{_id:null,count:{$sum:1},mean_age:{$avg:"$age"}}}
)
#选择年龄大于20的学生,观察男性和女性有多少人
db.stu.aggregate(
{$match:{$or:[{age:{$gt:20}},{hometown:{$in:["蒙古","⼤理"]}}]}},
{$group:{_id:"$gender",count:{$sum:1}}},
{$project:{_id:0,gender:"$_id",count:1}}
)

#page37页练习

db.tv3.aggregate(
{$group:{_id:{country:"$country",province:"$province",userid:"$userid"}}},
{$group:{_id:{country:"$_id.country",province:"$_id.province"},count:{$sum:1}}},
{$project:{country:"$_id.country",province:"$_id.province",count:1,_id:0}}
)

转载于:https://blog.51cto.com/13517854/2322188

你可能感兴趣的文章
vc++基础班[28]---动态数组及动态链表的讲解
查看>>
在Windows Server 2008 R2中使用web方式修改域用户账户密码
查看>>
ibatis 开发中的经验 (一)ibatis 和hibernate 在开发中的理解
查看>>
基础总结篇之中的一个:Activity生命周期
查看>>
django signal
查看>>
铁打的营盘,流水的兵
查看>>
c# 利用结构体获取json数据
查看>>
转 RMI、RPC、SOAP通信技术介绍及比对
查看>>
个人博客之路
查看>>
欢迎访问github地址,并指出项目中的缺陷和BUG
查看>>
Linux操作系统下三种配置环境变量的方法
查看>>
iOS Crash 分析(文二)-崩溃日志组成
查看>>
24个 HTML5 & CSS3 下拉菜单效果及制作教程
查看>>
EasyUI 鼠标经过 显示气泡一例
查看>>
quick -- 添加按钮
查看>>
Android PackageInstaller 安装和卸载
查看>>
java中浮点数的比较(double, float)(转)
查看>>
Tomcat:基于HTTP协议的Connector配置
查看>>
NET4.5之初识async与await
查看>>
fopen 參数具体解释
查看>>