溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python使用pymongo與MongoDB基本交互的方法

發(fā)布時(shí)間:2020-08-04 14:51:03 來(lái)源:億速云 閱讀:185 作者:小豬 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了python使用pymongo與MongoDB基本交互的方法,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

pymongo的使用:

  • 安裝模塊:
    pip3 pymongo 
     
  • 導(dǎo)入模塊:
    import pymongo
     
  • 連接mongod:
    conn=pymongo.MongoClient(host="localhost",port=27017)
     
  • 獲取\切換數(shù)據(jù)庫(kù):
    # db=conn.School #獲取School數(shù)據(jù)庫(kù) db=conn['School'] #獲取School數(shù)據(jù)庫(kù)
     
  • 選擇集合:
    # collection=db.teacher#選擇teacher集合 collection=db['teacher']#選擇teacher集合
     
  • CRUD操作:【pymongo的方法與mongo的命令基本一致,名字類(lèi)似的功能也類(lèi)似,參數(shù)可以參考mongo的命令,以及源碼說(shuō)明】
    • 查看文檔:
      • find():返回值是一個(gè)Cursor類(lèi)型的,需要迭代這個(gè)返回值才能獲取結(jié)果
      • find_one():返回值是查找結(jié)果
      • python使用pymongo與MongoDB基本交互的方法      
        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'])#單個(gè)文檔情況下可用來(lái)取出指定值
              
        conn.close()
             
    • 插入文檔:
      • insert():插入單條文檔,可選,多條文檔使用列表插入,已經(jīng)不建議使用
      • 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():修改單條或多條文檔,由選項(xiàng)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():刪除指定文檔,但已經(jīng)不建議使用,建議使用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/

python使用pymongo與MongoDB基本交互的方法

看完上述內(nèi)容,是不是對(duì)python使用pymongo與MongoDB基本交互的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI