首页 > python运维

python使用pymongo与MongoDB基本交互操作示例

时间:2020-07-21 python运维 查看: 1075

本文实例讲述了python使用pymongo与MongoDB基本交互操作。分享给大家供大家参考,具体如下:

本文内容:

  • 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():返回值是查找结果
      • 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()
          </li>
        </ul>
        </li>

      • 插入文档:
        • 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()
            <!--EndFragment--></li>
          </ul>
          </li>

        • 修改文档:
          • 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()
              </li>
            </ul>
            </li>

          • 删除文档:
            • 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()
                </li>
              </ul>
              </li>


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

          希望本文所述对大家Python程序设计有所帮助。

展开全文
上一篇:python实现处理mysql结果输出方式
下一篇:Selenium及python实现滚动操作多种方法
输入字:
相关知识
解决Python访问MySQL数据库速度慢的问题

本文章主要介绍了解决Python访问MySQL数据库速度慢的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

linux系统下pip升级报错的解决方法

这篇文章主要给大家介绍了关于linux系统下pip升级报错的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Python+MySQL随机试卷及答案生成程序的示例代码

本文章主要介绍了Python+MySQL随机试卷及答案生成程序的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Linux系统下升级pip的完整步骤

这篇文章主要给大家介绍了关于Linux系统下升级pip的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧