欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【db】mongodb的故事

程序员文章站 2022-05-18 21:01:23
...

带着问题去学习?
终极目标,爬取b站里面粉丝在1万以上的用户,统计这些用户的起名规律
mongodb怎么进行翻页操作?

mongodb如何进行数据分析?
数据分析的关键是聚合查询

mongodb可以只取出某一个字段吗?

看一看下面四个服务有什么相同点和区别?
mysql,mongodb,redis,elasticsearch

名字 特点
mysql 关系型数据库 行和列
redis 缓存数据库,键值对
elasticsearch 可以做搜索引擎
mongodb

这几个数据库,对于使用者来说,其实都是黑盒的,但是不同的数据库特点不一样,使用方法也不同,不同的场景下各有千秋。
mongodb的数据分析能力不如mysql

入门

入门指导

安装

通过官网下载tar文件

启动

sudo ./mongod 启动mongodb服务

客户端

python客户端
pip3 install pymongo
shell客户端
./mongo
gui客户端
【db】mongodb的故事

数据结构

文档
JSON格式

概念

dbs,切换数据库
【db】mongodb的故事
collections,查看collections【db】mongodb的故事
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的存储大小
【db】mongodb的故事
也就是说百万行存储大小在22M做左右。为什么存储大小比数据大小要小很多?

相关标签: db