首页 > 数据库 >python操作mongodb基本使用

python操作mongodb基本使用

时间:2023-07-17 12:00:15浏览次数:36  
标签:mongo python mongodb db collection client print 操作 pymongo

使用pymongo,具体可以参考官方文档:

语法上基本和原生mongodb是一样的,所以非常容易入手...

https://pymongo.readthedocs.io/en/stable/tutorial.html

日常使用

import pprint

import pymongo
from pymongo.collection import Collection
from pymongo.database import Database

if __name__ == '__main__':
    # 初始化客户端
    # mongo_client = pymongo.MongoClient(host="127.0.0.1", port=27017, username="", password="")
    mongo_client = pymongo.MongoClient(host="127.0.0.1", port=27017, )

    # 获取所有的数据库名称
    print(mongo_client.list_database_names())

    # 获取或创建一个数据库(也就是 use xxxxx)
    # 有三种方式:
    # 第一种就是用点分方法获取和创建,
    db: Database = mongo_client.spider
    # print(dir(db))
    # print(type(db))
    
    # 第二种就是用列表引用
    db: Database = mongo_client["spider"]
    
    # 第三种就是通过get_database()方法获取
    database = mongo_client.get_database("spider")

    # 权限认证
    # 新版没找到,只能在初始化MongoClient时设置。

    # 获取当前使用的数据库名
    print(f"{db.name=}")

    # 获取当前数据库下的所有集合名
    print(db.list_collection_names())

    # 创建集合(**一般只有在需要创建固定集合时候才会使用**,因为mongodb插入文档并不需要集合存在就可以直接插入)
    # db.create_collection()

    # 获取数据库下的某个集合  等同于命令:db.xxxxx
    collection: Collection = db.test
    # print(dir(collection))
    # print(type(collection))
    
    # 还可以通get_collection()方法获取,差别在于会带提示
    get_collection = db.get_collection("123123")
    print(f"{get_collection=}")
    
    # 更新,upsert=True如果不存在则插入。
    # collection.update_one({}, {}, upsert=True)

    # 会返回一个游标对象,直接遍历就可以了
    cursor = collection.find({"age": {"$gt": 18}})
    for item in cursor:
        pprint.pprint(item)
    # 关闭游标对象。
    cursor.close()
    
    # 关闭客户端链接
    mongo_client.close()

标签:mongo,python,mongodb,db,collection,client,print,操作,pymongo
From: https://www.cnblogs.com/juelian/p/17559706.html

相关文章

  • Scrapy在pipeline中集成mongodb
    settings.py中设置配置项MONGODB_HOST="127.0.0.1"MONGODB_PORT=27017MONGODB_DB_NAME="bang123"pipelines.py:fromscrapy.pipelines.imagesimportImagesPipelinefromitemadapterimportis_item,ItemAdapterclassBang123Pipeline:......
  • 泛微OA节点后附加操作-update数据
    1.礼品领用申请流程,到人力资源部备案节点,由人力资源部填写“实际使用数量”,在该节点后减少对应礼品的库存数量。2.节点后附加操作2.1新建DML接口动作2.2填写信息3.DML语句updateuf_jczlsetkcsl=kcsl-'{?d.sjsl}'whereid='{?d.lpmc}'......
  • python知识点
    anoldcat 博客园首页新随笔联系订阅管理随笔-66  文章-61  评论-7  阅读- 14万Python知识点大全(转载) 转载自:https://github.com/kenwoodjw/python_interview_question大佬总结得很好,本来我也想总结一个的,直到我看到了这个。。。额,我......
  • AnaConda 打包 python 程序为 exe
    1.打开AnacondaPrompt2.查看环境并激活condaenvlist##查看所有环境activateenv_name##激活对应环境3.进入程序所在对应windows目录4.打包主程序pyinstaller-Fxxxx.py##打包程序-F覆盖 ......
  • mongodb副本集ip调整
    环境:Os:Centos7mongodb:4.4.22调整顺序:从节点-->仲裁节点-->主节点源ip与新ip对应关系(这里只拿修改从库作为例子)192.168.107-->192.168.104从节点 1.关闭从节点/usr/local/services/mongodb/bin/mongolocalhost:29001myrepl:SECONDARY>useadminmyrepl:SECONDARY>db.......
  • python使用ctypes调用gcc编译的dll之下载mingw
    1、打开下载mingw的下载链接https://sourceforge.net/projects/mingw-w64/files/或者使用镜像网站下载http://files.1f0.de/mingw/2、根据自己电脑系统的版本下载相应64位或32位的mingw,红框中的包下载解压之后配置环境变量就可以使用了 3、将解压的mingw的路径添加环境变......
  • centos上安装python3.8+完整依赖
    1.拉取基础镜像centos7dockerpullcentos:72.创建容器dockerrun-itcentos:7/bin/bash3.安装基础环境yumupdate1.查看当前python版本[root@iZwz99sau950q2nhb3pn0aZ~]#pythonPython2.7.5(default,Aug72019,00:51:29)[GCC4.8.520150623(RedHat4.......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-8-上下文(Context)
    1.简介其实前边的文章中也提到过Context,只不过是一笔带过,但是宏哥觉得在playwright中挺重要的,所以宏哥今天单独将其拎出来讲解和分享一下,希望对您有所帮助或者参考。2.前言Playwright为每个测试创建一个浏览器上下文,即BrowserContext,浏览器上下文相当于一个全新的浏览器配置文......
  • Git的基本概念及操作
    Git是目前最流行的分布式版本控制系统之一,广泛应用于软件开发行业。Git具备多人协作、分支管理、版本控制等功能,并且易于学习和使用。本文将详细介绍Git的相关知识,并且用相关代码辅助解释。Git的基本概念1.仓库(Repository)仓库是Git中最重要的概念之一,它是存储代码和相关历史记录的......
  • 谁说投资很难?风变Python智能交易巧学“量化交易”
    风变Python智能交易课程一经推出,让不少对“量化交易”感兴趣的人好像发现了“新大陆”一般,更有投资者在学习完风变Python智能交易课程之后表示:智能交易没有想象中的那么难!其实这与风变Python智能交易课程的设计是有密切联系的,首先风变这套课程在内容上设计得更加浅显易懂,研......