PyMongo

pymongo是Python中用来操作MongoDB的一个库,MongoDB是一个基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。其文件存储格式类似于JSON,叫BSON,通俗的理解,就是Python中的字典键值对格式。

BSON结构文档:

{
    title: 'MongoDB',
    last_editor: '192.168.1.122',
    last_modified: new Date('27/06/2011'),
    body: 'MongoDB introduction',
    categories: ['Database', 'NoSQL', 'BSON'],
    revieved: false
}

利用Python操作MomgoDB的步骤:

  • 在电脑上安装MongoDB

  • 在Python上安装pymongo的库

    pip install pymongo
    

可能出现的版本匹配问题:
1.pymongo.errors.ConfigurationError: Server at 10.168.20.16:27017 reports wire version 5, but this version of PyMongo requires at least 6 (MongoDB 3.6).
降低版本
在这里插入图片描述
2.AttributeError: module 'platform' has no attribute 'linux_distribution'
升高版本
在这里插入图片描述

PyMongo的使用:

  • 连接MongoClient

    from pymongo import MongoDB
    settings = {
        "ip":"mongodb://xxx.xxx.xxx.xxx:27017,xxx.xxx.xxx.xxx:27017",   #ip
        #"ip":"xxx.xxx.xxx.xxx",   #ip
        #"port":27017,           #端口
        "db_name" : "print",    #数据库名字
        "set_name" : "img_feature"   #集合名字
    }
    conn = MongoClient(setings['ip'])
    
  • 获取数据库(database)

    db = conn[settings['db_name']]
    
  • 获取集合Collection
    Collection是存储在MongoDB中的一组文件。类似于关系型数据库中的表。

    my_set = db['settings['set_name']']
    
  • 插入数据

    my_set.insert(dic)
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 更新数据

    my_set.update(dic, newdic)
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 删除数据

    my_set.remove(dic)
    

    在这里插入图片描述

  • 查询

    #多条查询
    my_set.find(dic) 
    #单条查询
    my_set.find_one(dic)
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 聚合arrgregate

my_set.aggregate([{'$group': {'_id': '$imgTag'}}])

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
MongoDB的skip和limit方法

  • limit
    在这里插入图片描述

  • skip
    在这里插入图片描述

参考资料
Python3中使用PyMongo的方法详解
python使用pymongo操作mongo的完整步骤
MongoDB(七):聚合aggregate
mongo-05-聚合操作和索引
MongoDB Limit与Skip方法
PyMongo基本用法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值