zoukankan      html  css  js  c++  java
  • python与MongoDB的基本交互:pymongo


    本文内容:

    • pymongo的使用:
      • 安装模块
      • 导入模块
      • 连接mongod
      • 获取切换数据库
      • 选择集合
      • CRUD操作

    首发时间:2018-03-18 20:11


    pymongo的使用:

    • 安装模块:
    pip3 pymongo
    • 导入模块:
    import pymongo
    • 连接mongod:
    conn=pymongo.MongoClient(host="localhost",port=27017)
    • 获取切换数据库:
    # db=conn.School #获取School数据库 db=conn['School'] #获取School数据库
    • 选择集合:
    # collection=db.teacher#选择teacher集合 collection=db['teacher']#选择teacher集合
    • CRUD操作:【pymongo的方法与mongo的命令基本一致,名字类似的功能也类似,参数可以参考mongo的命令,以及源码说明
      • 查看文档:
        • find():返回值是一个Cursor类型的,需要迭代这个返回值才能获取结果
        • find_one():返回值是查找结果
        • image
          import
          pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] rel=collection.find() print([r for r in rel]) rel=collection.find({"name":"Alex"}) print([r for r in rel]) # rel=collection.find({"age":{"$gt":20}}) rel=collection.find({"$or":[{"name":"Amy"},{"name":"Alex"}]}) print([r for r in rel]) rel=collection.find_one({"name":"jack"}) print(rel) print(rel['name'])#单个文档情况下可用来取出指定值
          
          conn.close()
      • 插入文档:
        • insert():插入单条文档,可选,多条文档使用列表插入,已经不建议使用
        • insert_one():插入单条文档
        • insert_many():插入多条文档
          import
          pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] collection.insert({"name":"Job","course":"career"}) # col.insert(document)#**DEPRECATED** - Use :meth:`insert_one` or :meth:`insert_many` instead.
          
          #
          insert是不推荐用了,建议使用insert_one,insert_many collection.insert_one({"name":"Job1","course":"career1"}) t1={"name":"Job2","course":"career2"} t2={"name":"Job3","course":"career3"
          }
          collection.insert_many([t1,t2])
          
          conn.close()
      • 修改文档:
        • update():修改单条或多条文档,由选项multi决定,但已不推荐使用该方法,建议使用update_one()、update_many()
        • update_one():修改单条文档
        • update_many():修改多条文档
        • import
          pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] # rel=collection.update({"name":"Job1"},{ "$set":{"name":"Bob"}})#不推荐使用
          
          #
          collection.update_one({"name":"Job"},{ "$set":{"name":"Bob"}}) collection.update_many({"name":"Job1"},{ "$set":{"name":"Bob"
          }})
          
          
          conn.close()
      • 删除文档:
        • remove():删除指定文档,但已经不建议使用,建议使用delete_one和delete_many
        • delete_one(): 删除符合条件的一条文档
        • delete_many():删除符合条件的所有文档
        • import
          pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] # collection.remove({"name":"Bob"})
          
          #
          collection.delete_one({"name":"Bob2"}) collection.delete_many({"name":"Job3"
          })
          
          conn.close()

     想了解更多,可以参考pymongo官方文档:http://api.mongodb.com/python/current/api/pymongo/


  • 相关阅读:
    内存管理简介之Buddy算法和slab分配
    进程通信方式介绍
    Linux内核网络栈实现分析(十一)驱动程序层(下)
    Linux内核网络协议栈深入分析(二)sk_buff的操作函数
    Linux内核网络协议栈深入分析(一)与sk_buff有关的几个重要的数据结构
    内核源码学习:伙伴算法
    寒假Day16Dinic模板更新+优化
    寒假Day20:数位dp
    寒假Day21:Catalan Square卡特兰数 JAVA写大数
    寒假Day17UVALive3231Fair Share(最大流+二分)
  • 原文地址:https://www.cnblogs.com/progor/p/8597172.html
Copyright © 2011-2022 走看看