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/

 


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM