欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python pymongo模塊常用操作分析

 更新時(shí)間:2018年09月01日 09:59:23   作者:每天1990  
這篇文章主要介紹了Python pymongo模塊常用操作,結(jié)合實(shí)例形式分析了pymongo模塊的導(dǎo)入、連接MongoDB數(shù)據(jù)以及插入、更新、刪除、查詢等操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Python pymongo模塊常用操作。分享給大家供大家參考,具體如下:

環(huán)境:pymongo3.0.3,python3

以下是我整理的一些關(guān)于pymongo的操作,網(wǎng)上很多是用pymongo.Connecion()去連接數(shù)據(jù)庫(kù)的,但是我這里連接一直提示沒(méi)有這個(gè)包,如果大家有什么解決方案或者其他需要補(bǔ)充的,也歡迎告訴我。

一、導(dǎo)入pymongo,使用MongClient連接數(shù)據(jù)庫(kù),連接到myinfo數(shù)據(jù)庫(kù)

import pymongo
client= pymongo.MongoClient("127.0.0.1",27017)
db=client.myinfo

二、insert,insert_one()只能插入一條數(shù)據(jù),插入多條數(shù)據(jù)的格式是db.user.insert([{條數(shù)1},{條數(shù)2}]),一定要加[],否則只會(huì)添加進(jìn)去第一條(user是一個(gè)集合,除了用db["collection"]外也可以用db.collection來(lái)對(duì)集合進(jìn)行操作

db["user"].insert_one({"name":"zhao"})
db["user"].insert_one({"name":"zhou","age":"5"})
db["user"].insert([{"name":"wu","age":"6"},{"name":"zheng","age":"7"}])

*insert還可以用下面這種方式插入,將數(shù)據(jù)獨(dú)立出來(lái)

data = [
    {"name":"zhao","rank":"1"},
    {"name":"qian","rank":"2"},
    {"name":"sun","rank":"3"},
    {"name":"li","rank":"4"},
    ]
db.user.insert(data)

三、update,$set:更新操作,multi=True:是否對(duì)查詢到的全部數(shù)據(jù)進(jìn)行操作,upsert=True:如果找不到查詢的結(jié)果是否插入一條數(shù)據(jù)

db.user.update_one({"age":"2"},{"$set":{"name":"qian","age":2}})
db.user.update({"name":"sun"},{"$set":{"name":"qian"}},upsert=True)

*update_one也是只能對(duì)一條數(shù)據(jù)進(jìn)行操作,$set是update操作的$操作符,也可以用$inc或$push,前兩個(gè)操作速度差不多,$push操作速度較慢。

四、remove,如果后面()內(nèi)不填寫內(nèi)容,就是將整個(gè)表清空了,db.user.find_one_and_delete()也是刪除的意思

db.user.remove({"name":"wu"})
db.user.find_one_and_delete({"name":"zheng"})

五、db.user.count(),統(tǒng)計(jì)查詢出的條數(shù),()內(nèi)不填寫東西,就是統(tǒng)計(jì)出該集合下所有的數(shù)據(jù)

print(db.user.count({"age":"6"}))

六、打印出查詢結(jié)果

from bson import json_util as jsonb
print(jsonb.dumps(list(db.user.find({"name":"wu"}))))
print(db.user.find({"name":"wu"}))

可以看到上面兩種方式,不轉(zhuǎn)換與轉(zhuǎn)換后的結(jié)果對(duì)比如下:

*jsonb.dumps()將查詢出來(lái)的結(jié)果轉(zhuǎn)換成了可以讀的list的格式,否則打印出來(lái)的是<pymongo.cursor.Cursor object at 0x02096DF0>這種格式的

遍歷col1=db.user.find()查詢到的所有結(jié)果,以及它key=name的value

for i in col1:
  print(i)
  print(i["name"])

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》、《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python數(shù)據(jù)類型之間怎么轉(zhuǎn)換技巧分享

    python數(shù)據(jù)類型之間怎么轉(zhuǎn)換技巧分享

    在本篇文章里小編給大家分享的是關(guān)于python數(shù)據(jù)類型之間怎么轉(zhuǎn)換實(shí)例以及小技巧內(nèi)容,有興趣的朋友們參考下。
    2019-08-08
  • Python批量查詢關(guān)鍵詞微信指數(shù)實(shí)例方法

    Python批量查詢關(guān)鍵詞微信指數(shù)實(shí)例方法

    在本篇文章中小編給大家整理的是關(guān)于Python批量查詢關(guān)鍵詞微信指數(shù)實(shí)例方法以及相關(guān)代碼,需要的朋友們可以跟著學(xué)習(xí)下。
    2019-06-06
  • python處理xls文件openpyxl基礎(chǔ)操作

    python處理xls文件openpyxl基礎(chǔ)操作

    這篇文章主要為大家介紹了python處理xls文件openpyxl基礎(chǔ)操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • python完全卸載三種方法教程

    python完全卸載三種方法教程

    通常我們?cè)谛遁dpyhton時(shí)會(huì)直接使用電腦自備的管家軟件中的卸載功能,但是通常這并不會(huì)卸載干凈,特別是當(dāng)你卸載完python一個(gè)版本之后,重新安裝另一個(gè)版本就會(huì)出錯(cuò),這篇文章主要給大家介紹了關(guān)于python完全卸載三種方法的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • python matplotlib畫圖實(shí)例代碼分享

    python matplotlib畫圖實(shí)例代碼分享

    這篇文章主要介紹了python matplotlib畫圖實(shí)例代碼分享,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • Python threading Local()函數(shù)用法案例詳解

    Python threading Local()函數(shù)用法案例詳解

    這篇文章主要介紹了Python threading Local()函數(shù)用法案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 利用python實(shí)現(xiàn)聚類分析K-means算法的詳細(xì)過(guò)程

    利用python實(shí)現(xiàn)聚類分析K-means算法的詳細(xì)過(guò)程

    K-means算法是很典型的基于距離的聚類算法,采用距離作為相似性的評(píng)價(jià)指標(biāo),即認(rèn)為兩個(gè)對(duì)象的距離越近,其相似度就越大,下面通過(guò)本文給大家介紹利用python實(shí)現(xiàn)聚類分析K-means算法的詳細(xì)過(guò)程,感興趣的朋友一起看看吧
    2021-11-11
  • python多線程操作實(shí)例

    python多線程操作實(shí)例

    這篇文章主要介紹了python多線程操作實(shí)例,本文先是講解了python多線程的相關(guān)知識(shí)、python多線程使用的兩種方法等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • 如何在Python中捕獲finally語(yǔ)句中異常消息

    如何在Python中捕獲finally語(yǔ)句中異常消息

    正常情況下,finally語(yǔ)句不會(huì)捕獲異常,而是在異常處理完成后執(zhí)行,那么如何在Python中捕獲finally語(yǔ)句中異常消息呢,下面小編就來(lái)和大家詳細(xì)聊聊
    2024-02-02
  • Python 中 Selenium 的 getAttribute() 函數(shù)詳解

    Python 中 Selenium 的 getAttribute() 

    本文將解釋如何使用Selenium的getAttribute()方法,getAttribute() 方法可以檢索元素屬性,例如錨標(biāo)記的 href 屬性, 該函數(shù)最初將嘗試返回指定屬性的值,感興趣的朋友跟隨小編一起看看吧
    2023-11-11

最新評(píng)論