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