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 }}
)
  1. 修改多个
db.inventory.updateMany({ "qty" : { $lt: 50 } }, // specifies the documents to update{$set: { "size.uom" : "cm", "status": "P" },$currentDate : { "lastModified": true }}
)

delete data from MongoDB

  1. 删除一个document
db.inventory.deleteOne({ "status": "D" } // specifies the document to delete
)
  1. 删除多个document
db.inventory.deleteMany({ "status" : "A" } // specifies the documents to delete
)

mongodb状态查看

例如我想查看db存储大小
例如我想查看collection的存储大小

也就是说百万行存储大小在22M做左右。为什么存储大小比数据大小要小很多?

使用pymongo作为客户端的语法

【db】mongodb的故事相关推荐

  1. Robomongo与MongoDB的故事

    Robomongo,Mongo可视化工具 哇唔,其实她是三(阴险脸). 你看你看,界面清新,让人家心旷神怡(害羞),谁还想win+R+mongo呀呀呀?! 哎呀呀,继续···说正事. 在这里···借助 ...

  2. 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 ...

  3. MongoDB中文社区年终盛典

    2017年, Mongoing中文社区携手海量数据学院走进了8座城市, 从花香四溢的暖春走到了寒意凛然的初冬. 2018年的1月, 我们将在帝都举办Mongoing中文社区的年终盛会. 届时 众多技术 ...

  4. MongoDB 的应用开发者生态建设调查及启示

    MongoDB 公司俨然成为一家成功的公司.在2022年 9 月其市值达到 380 亿美元,有 3 万 7 千家客户.同时 MongoDB 建设了非常成熟的应用开发者生态.根据 MongoDB 官网, ...

  5. 安装 express4 linux,nodejs+express4.0+mongodb安装方法 for Linux, Mac

    废话不多说 1:下载nodejs包 下载source code版本需要解压后到其目录执行./configure,然后make && make install; 而binaries的ta ...

  6. windows下mongodb配置

    打开cmd(windows键+r输入cmd)命令行,进入D:\mongodb\bin目录(如图先输入d:进入d盘然后输入cd d:\mongodb\bin), 输入如下的命令启动mongodb服务: ...

  7. 10分钟教你看懂mongodb的npm包

    最近刚开始接触node.js,在做一个博客,在学习过程中,肯定是接触了不少npm的包,主要就是学习使用它的API.现在所写的就是关于mongodb的使用.首先mongodb这个包是用来提供连接和操作m ...

  8. mysql 迭代更新_MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)

    MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本 ...

  9. nodejs+express4.0+mongodb安装方法 for Linux, Mac

    废话不多说 1:下载nodejs包 下载地址例如以下:http://www.nodejs.org/download/ 下载source code版本号须要解压后到其文件夹运行./configure,然 ...

最新文章

  1. SQL Server数据库查询速度慢的原因和解决方法
  2. Centos 中 TCPWrappers访问控制
  3. 允许java运行不安全或不可信的应用程序
  4. linux 4.4内核是什么,Linux 内核 4.4 LTS 将于2016年1月10日发布
  5. How-to: Use the ShareLib in Apache Oozie
  6. Python爬虫常用模块
  7. 牛客 - 树上子链(树的直径-处理负权)
  8. loewe测试软件,实测Loewe三角包 最轻的小包最贴心的设计
  9. Spring : Spring AOP 中的增强(Advice)或者通知
  10. Recurrent Neural Network(3):LSTM Basics and 《Inside Out》
  11. chrome pdf viewer 参数
  12. 联想小新air13装双系统_联想小新Pro 13黑苹果详细安装教程
  13. 大数据分析笔记 (2) - 数据分析统计方法
  14. java时区时间转换
  15. Python中next()函数、iter()以及next(iter())函数的用法详解
  16. 钢琴节奏时值测试软件,这些钢琴曲可以测试出你的钢琴水平达到哪个阶段?
  17. layui tpl中的if(){}else{}
  18. 第三节 数据通信基础
  19. 黑羽压测 比 jmeter、locust、loadrunner 更简便,性能更强
  20. 2022柏林葡萄酒大奖赛 | 瑞格尔侯爵佳酿斩获两枚金奖

热门文章

  1. 【今日CV 视觉论文速览】 04 Dec 2018
  2. TCP—三次握手和四次挥手详解
  3. 作业 利用单选框控制图片的显示
  4. 字节流抽象类 java
  5. temp变量this变量base变量 c# 1613715552
  6. 窗体控件常用属性 1217
  7. sqlserver查询语法
  8. git-分支管理-增加删除切换合并操作
  9. django 视图-----视图函数
  10. TeamCity : 安装 Server