【db】mongodb的故事
发布日期:2021-05-07 18:04:29 浏览次数:22 分类:技术文章

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

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作为客户端的语法

上一篇:python scrapy
下一篇:常用网站URL规划分析

发表评论

最新留言

很好
[***.229.124.182]2025年04月13日 20时34分28秒