【db】mongodb的故事
pymongo
mongodb你可以理解为一个json数据库,用起来真的很方便。
带着问题去学习?
终极目标,爬取b站里面粉丝在1万以上的用户,统计这些用户的起名规律
mongodb怎么进行翻页操作?
mongodb如何进行数据分析?
数据分析的关键是聚合查询
mongodb怎么去查询列表里面的元素是否满足某个条件?
使用$elemMatch
mongodb可以只取出某一个字段吗?
Return the Specified Fields(获取指定的字段)
看一看下面四个服务有什么相同点和区别?
mysql,mongodb,redis,elasticsearch
名字 | 特点 |
---|---|
mysql | 关系型数据库 行和列 |
redis | 缓存数据库,键值对 |
elasticsearch | 可以做搜索引擎 |
mongodb |
这几个数据库,对于使用者来说,其实都是黑盒的,但是不同的数据库特点不一样,使用方法也不同,不同的场景下各有千秋。
mongodb的数据分析能力不如mysql
入门
入门指导
安装
通过官网下载tar文件
解压后得到 mongodb-macos-x86_64-4.2.5
启动
cd mongodb-macos-x86_64-4.2.5/bin
sudo ./mongod
启动mongodb服务
一定要有sudo
客户端
python客户端
pip3 install pymongo
shell客户端
./mongo
gui客户端
数据结构
文档
JSON格式
概念
dbs,切换数据库
collections,查看collections
document
CURD
insert data into mongodb(插入数据)
db.foo.insertOne({ "item" : "canvas","qty" : 100,"tags" : ["cotton"],"size" : { "h" : 28, "w" : 35.5, "uom" : "cm" }}
)
read data from mongodb(读取数据)
注意:mongodb读取数据返回了一个游标
myCursor = db.foo.find( {} )
while (myCursor.hasNext()) {print(tojson(myCursor.next()));
}
read data from mongodb with queries(查询)
Read Data using Operators and Compound Queries
myCursor = db.inventory.find( { "size.h": { $lt: 15 } } )
Update Data in MongoDB
1.修改一个
{ "item" : "paper" }, // specifies the document to update{$set: { "size.uom" : "cm", "status" : "P" },$currentDate: { "lastModified": true }}
)
- 修改多个
db.inventory.updateMany({ "qty" : { $lt: 50 } }, // specifies the documents to update{$set: { "size.uom" : "cm", "status": "P" },$currentDate : { "lastModified": true }}
)
delete data from MongoDB
- 删除一个document
db.inventory.deleteOne({ "status": "D" } // specifies the document to delete
)
- 删除多个document
db.inventory.deleteMany({ "status" : "A" } // specifies the documents to delete
)
mongodb状态查看
例如我想查看db存储大小
例如我想查看collection的存储大小
也就是说百万行存储大小在22M做左右。为什么存储大小比数据大小要小很多?
使用pymongo作为客户端的语法
【db】mongodb的故事相关推荐
- Robomongo与MongoDB的故事
Robomongo,Mongo可视化工具 哇唔,其实她是三(阴险脸). 你看你看,界面清新,让人家心旷神怡(害羞),谁还想win+R+mongo呀呀呀?! 哎呀呀,继续···说正事. 在这里···借助 ...
- azure api 管理_Azure Cosmos DB和MongoDB API入门
azure api 管理 In the previous article on Azure Cosmos DB, we reviewed NoSQL concepts and how to integ ...
- MongoDB中文社区年终盛典
2017年, Mongoing中文社区携手海量数据学院走进了8座城市, 从花香四溢的暖春走到了寒意凛然的初冬. 2018年的1月, 我们将在帝都举办Mongoing中文社区的年终盛会. 届时 众多技术 ...
- MongoDB 的应用开发者生态建设调查及启示
MongoDB 公司俨然成为一家成功的公司.在2022年 9 月其市值达到 380 亿美元,有 3 万 7 千家客户.同时 MongoDB 建设了非常成熟的应用开发者生态.根据 MongoDB 官网, ...
- 安装 express4 linux,nodejs+express4.0+mongodb安装方法 for Linux, Mac
废话不多说 1:下载nodejs包 下载source code版本需要解压后到其目录执行./configure,然后make && make install; 而binaries的ta ...
- windows下mongodb配置
打开cmd(windows键+r输入cmd)命令行,进入D:\mongodb\bin目录(如图先输入d:进入d盘然后输入cd d:\mongodb\bin), 输入如下的命令启动mongodb服务: ...
- 10分钟教你看懂mongodb的npm包
最近刚开始接触node.js,在做一个博客,在学习过程中,肯定是接触了不少npm的包,主要就是学习使用它的API.现在所写的就是关于mongodb的使用.首先mongodb这个包是用来提供连接和操作m ...
- mysql 迭代更新_MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)
MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本 ...
- nodejs+express4.0+mongodb安装方法 for Linux, Mac
废话不多说 1:下载nodejs包 下载地址例如以下:http://www.nodejs.org/download/ 下载source code版本号须要解压后到其文件夹运行./configure,然 ...
最新文章
- SQL Server数据库查询速度慢的原因和解决方法
- Centos 中 TCPWrappers访问控制
- 允许java运行不安全或不可信的应用程序
- linux 4.4内核是什么,Linux 内核 4.4 LTS 将于2016年1月10日发布
- How-to: Use the ShareLib in Apache Oozie
- Python爬虫常用模块
- 牛客 - 树上子链(树的直径-处理负权)
- loewe测试软件,实测Loewe三角包 最轻的小包最贴心的设计
- Spring : Spring AOP 中的增强(Advice)或者通知
- Recurrent Neural Network(3):LSTM Basics and 《Inside Out》
- chrome pdf viewer 参数
- 联想小新air13装双系统_联想小新Pro 13黑苹果详细安装教程
- 大数据分析笔记 (2) - 数据分析统计方法
- java时区时间转换
- Python中next()函数、iter()以及next(iter())函数的用法详解
- 钢琴节奏时值测试软件,这些钢琴曲可以测试出你的钢琴水平达到哪个阶段?
- layui tpl中的if(){}else{}
- 第三节 数据通信基础
- 黑羽压测 比 jmeter、locust、loadrunner 更简便,性能更强
- 2022柏林葡萄酒大奖赛 | 瑞格尔侯爵佳酿斩获两枚金奖