mongoDB与Python交互

本文介绍如何使用Python的pymongo库进行MongoDB的基本操作,包括安装配置、建立连接、增删改查等核心功能,并提供了具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 点击查看官方文档
  • 安装python包
    #进入虚拟环境 
    sudo pip install pymongo
    #或源码安装
    python setup.py
  • 引入包pymongo
    import pymongo
  • 连接,创建客户
    无安全认证的连接:client = MongoClient('mongodb://localhost:27017') 
    有安全认证的连接:client = MongoClient('mongodb://用户名:密码@localhost:27017/数据库')
    用户名,密码,主机ip,端口可通过参数传递:
    uri = 'mongodb://%s:%s@%s/%s'%(name,pwd,host,db)
  • 获得数据库test
    db = client.test
  • 获得集合stu

    stu = db.stu

    • 集合常用的方法
    • insert_one()
    • insert_many()
    • delete_one()
    • delete_many()
    • update_one()
    • update_many()
    • find_one()
    • find()
    • aggregate()
    • count()
  • insert_one()
    from datetime import datetime
    info = {"name":"Vella","date": datetime.strptime("2014-10-01", "%Y-%m-%d"),"grade": "A","score":17}
    stu.insert_one(info)

  • insert_many()
    from datetime import datetime
    infos = [{"name":"Vella","date": datetime.strptime("2014-10-01", "%Y-%m-%d"),"grade": "A","score":17},{"name":"Kitty","date":datetime.strptime("2014-10-16", "%Y-%m-%d"),"grade": "B","score":10}]
    client = pymongo.MongoClient('mongodb://localhost:27017')
    db = client.grades
    restult =db.grade.insert_many(infos)
    是否写成功
    restult.acknowledged
    Out[77]: True
    获取插入的id
    restult.inserted_ids
    Out[78]: [ObjectId('59be2a6f98a8f123cda66409'), ObjectId('59be2a6f98a8f123cda6640a')]
  • find()
    t = db.grade.find()
    for i in t:
    print(i)
    {'_id': ObjectId('59be2a6f98a8f123cda66409'), 'name': 'Vella', 'date': datetime.datetime(2014, 10, 1, 0, 0), 'score': 17, 'grade': 'A'}
    {'_id': ObjectId('59be2a6f98a8f123cda6640a'), 'name': 'Kitty', 'date': datetime.datetime(2014, 10, 16, 0, 0), 'score': 10, 'grade': 'B'}
  • find_one()
    In [84]: db.grade.find_one()
    Out[84]:
    {'_id': ObjectId('59be2a6f98a8f123cda66409'),
    'name': 'Vella',
    'date': datetime.datetime(2014, 10, 1, 0, 0),
    'score': 17,
    'grade': 'A'}
  • 正则查询
  • cursor = reviews_collection.find({“text”:{‘$regex’ : “.*atmosphere.*”}})
  • count()
    获取文档个数
    In [115]: t.count()
    Out[115]: 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值