• Python操作MongoDB数据库


    在这里插入图片描述

    活动地址:CSDN21天学习挑战赛

    学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。

    学习日记

    目录

    学习日记​​​​​​​

    一、前言介绍

    1、类比

    2、MongoDB特点:

    二、安装MongoDB库

     三、MongoDB相关

    1、概念

    2、数据类型

    Warn:

    四、 MongoDB的基本使用

    1、启动MongoDB服务端

    2、启动MongoDB客户端

    五、MongoDB常用命令

    1、数据库操作

    2、集合操作

    六、MongoDB的增删改查

    1、增(插入数据)

    2、删(删除数据)

    3、改(修改数据)

    4、查(查询数据)

    七、Python连接MongoDB

    1、指定地址和端口连接

    2、通过URI连接


    一、前言介绍

    1、类比

    SQL:结构化查询语言.用于操作关系型数据库。
    NoSQL:非关系型数据库。不能使用SQL。
    MongoDB数据库是一种NoSQL数据库,是一个开源的数据库系统。

    2、MongoDB特点:

    (1)用于web用户的数据存储

    (2)数据结构:key - value

    (3)存储文档类似于JSON

    二、安装MongoDB库

    在win+r输入cmd后输入指令下载

    pip install pymongo
    

     这样即安装完成。

     三、MongoDB相关

    1、概念

    2、数据类型

    Warn:


       每个文档都有一个不同的属性(_id),保证每个文档的唯一性。可手动设置_id的值,没有手动设置则会自动提供一个独特的_id,类型为objectID。objectID是一个12字节的十六进制数,每个字节两位,一共是24位的字符串:
                                                 前4个字节(8位)为时间戳
                                                 接下来的3个(6位)是机器ID
                                                 再然后2个(4位)是MongoDB服务进程ID
                                                 最后3个(6位)是简单的增量值
     

    四、 MongoDB的基本使用

    1、启动MongoDB服务端

    启动/停止/重启:                 sudo service mongod start/stop/restart
    验证数据库是否正常启动:     grep -v '#' /etc/mongod.conf

    启动方式:    sudo mongod [--dbpath] [--logpath] [--append] [--fork] [--auth] [-f]

    不带参数时,要手动创建数据存储目录/data/db

    --dbpath:指定数据库的存储路径

    --logpath:指定日志的存放路径

    --append:设置日志的写入形式为追加

    --fork:开启新的进程运行MongoDB服务

    --auth:以权限认证的方式启动

    -f 路径:设置配置文件路径

    验证是否启动成功:      ps -aux | grep mongod

     

    2、启动MongoDB客户端

    启动:mongo
    退出:exit
    查看帮助:mongo -help

    五、MongoDB常用命令

    1、数据库操作

    查看当前数据库:db

    查看所有数据库:show dbs

    切换数据库:use 数据库名

    删除当前数据库:db.dropDatabase()

    2、集合操作

    自动创建集合:   向不存在的集合中第一次添加数据时,集合会被自动创建
    手动创建:
    db.createCollection("集合名")

    db.createCollection("集合名",{capped:true,size:x})

    capped:默认值为false,表示没有上限,true则为设置上限

    size:集合所占用的最大上限字节数,超出上限则会覆盖之前的数据

    查看集合:show collections

    删除集合:db.集合名.drop()

    检查集合是否设有上限:db.集合名.isCapped()

    六、MongoDB的增删改查

    1、增(插入数据)

    单条插入:db.集合名.insert({数据})
    db.name.insert({"cjl":19})

    多条插入:db.集合名.insert([{数据1},{数据2}])
    db.name.insert([{"cjl":19},{"syf":20}])

    2、删(删除数据)

    db.集合名.remove({查询条件},{justOne:boolean})

    justOne:默认false删除全部符合条件的,true删除一条
    db.name.remove({"age":18},{justOne:true})
     

    3、改(修改数据)

    保存:db.集合名.save({_id:"xxx"})
    通过_id定位到数据,如果存在则修改该数据,不存在则新增该数据
    db.name.save({_id:"xxx","name":"cjl"})

    更新:db.集合名.update({查询条件},{更新操作符},{multi:boolean})
    multi:默认false只更新第一条,true全部更新,必须和$set一起使用

    全文档覆盖更新
    db.name.update({name:'x'},{name:'y'})

    指定键值更新:
    db.name.update({name:'x'},{$set:{name:'y')}}

    更新全部
    db.name.update({},{$set:{age:18}},{multi:true})

    4、查(查询数据)

    db.集合名.find({条件})                       查询该集合内的所有符合条件的数据
    .pretty()                                             格式化输出
    db.集合名.findOne({条件})                查询该集合内的第一条数据
    db.集合名.find({条件}).count()           统计个数查询
    db.集合名.distinct("xxx",{条件})         去除重复查询
    相关查询条件:

    比较运算符:
    小于:$lt                                                小等:$lte
    大于:$gt                                               大等:$gte
    不等:$ne

    逻辑运算符:
    与关系:$and
    简洁格式:db.name.find({age:{$gt:18},sex:true})
    复杂格式:db.name.find({$and:[{age:{$gt:18},sex:true}]})
     

    或关系:$or
    db.name.find({$or:[{age:{$gt:18},sex:true}]})

    范围运算符:
    包含:$in
    db.name.find({age:{$in:[18,19,20]}})
    不包含$nin
    db.name.find({age:{$nin:[18,19,20]}})
     

    正则表达式
    正则表达式:$regex
    db.name.find({name:{$regex:'^c'}})

    七、Python连接MongoDB

        通常有两种方式连接MongoDB数据库,一种是通过指定地址和端口直接连接,另一种是将连接地址拼接成URI的格式进行连接。

    1、指定地址和端口连接

    1. import pymongo
    2. client = pymongo.MongoClient(host='localhost',port=3717,username='root',password='root')
    3. # 连接数据库
    4. db = client.testDatabase
    5. # 连接到users集合
    6. users= db.users
    7. print(db.list_collection_names()) # 获取数据库中所有集合名称
    8. print(users.count()) # 统计users集合的文档数

    2、通过URI连接

    URI的格式:mongodb://username:password@ip:port

    1. import pymongo
    2. uri = "mongodb://root:root@localhost:3717"
    3. client = pymongo.MongoClient(uri)
    4. # 连接数据库
    5. db = client.testDatabase
    6. # 连接到users集合
    7. users= db.users
    8. print(db.list_collection_names()) # 获取数据库中所有集合名称
    9. print(users.count()) # 统计users集合的文档数

  • 相关阅读:
    网络爬虫软件学习
    windows 中, bash: conda: command not found(已解决)
    机器学习算法交叉验证最频繁犯的6个错误
    【四、http】go的http的文件下载
    Kubernetes(k8s)集群渗透
    iOS视图控件的内容显示和离屏渲染流程
    为SpringBoot Admin监控的服务端加上登录认证
    31 - 认识MySQL
    TypeScript学习日志-第二十四天(webpack构建ts+vue3)
    WPF 多路绑定、值转换器ValueConvert、数据校验
  • 原文地址:https://blog.csdn.net/m0_63794226/article/details/126257711