国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python常見MongoDB數(shù)據(jù)庫(kù)操作實(shí)例總結(jié)

2020-02-15 22:30:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Python常見MongoDB數(shù)據(jù)庫(kù)操作。分享給大家供大家參考,具體如下:

MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語(yǔ)言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。

MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點(diǎn)是他支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z(yǔ)言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能。接下來(lái)記錄一下在使用PyMongo操作MongoDB

下載pymongo庫(kù)

pip install pymongo

前置操作

# 獲取MongoDB操作,localhost為host,27017為MongoDB默認(rèn)portclient = pymongo.MongoClient("mongodb://localhost:27017/")# 操作test數(shù)據(jù)庫(kù)db = client.test# 獲取Student集合student = db.Student

插入單條數(shù)據(jù)

# 插入一條數(shù)據(jù),并獲取返回結(jié)果res = student.insert_one({"name":"老王"})# 獲取插入之后該條數(shù)據(jù)的idobject_id = res.inserted_idprint(object_id)

插入多條數(shù)據(jù)

# 插入9條數(shù)據(jù)res = student.insert_many([{"name":"name%d"%index} for index in range(1,10)])# 獲取插入之后該9條數(shù)據(jù)的ids,object_ids為一個(gè)listobject_ids = res.inserted_idsprint(object_ids)

查詢單條數(shù)據(jù)

# 查詢單條數(shù)據(jù),res為一個(gè)dictres = student.find_one({"name":"老王"})

查詢滿足條件的所有數(shù)據(jù)

# 查詢滿足條件的所有數(shù)據(jù),res為一個(gè)pymongo.cursor.Cursor對(duì)象res = student.find({"name":"老王"})# 獲取數(shù)據(jù)個(gè)數(shù)print(res.count())for index in res:  # index為一個(gè)dict。注意:這個(gè)循環(huán)只能進(jìn)行一次,如需再次操作返回結(jié)果,需要在find一次,或?qū)ist(res),將這個(gè)返回結(jié)果保存起來(lái)  print(index)

更新

# 查詢并更新。{"name":"老王"}為查詢條件;{"$set":{"addr":"家住隔壁"}}更新數(shù)據(jù);upsert=False找不到不插入數(shù)據(jù),upsert=True找不到則插入數(shù)據(jù)# res為返回結(jié)果,res為一個(gè)字典對(duì)象,是之前數(shù)據(jù)的字典res = student.find_one_and_update({"name":"老王"},{"$set":{"addr":"家住隔壁"}},upsert=False)

刪除單條數(shù)據(jù)

student.delete_one({"name":"老王"})

刪除匹配條件的所有數(shù)據(jù)

student.delete_many({"name":"老王"})

附:更多MongoDB的操作

MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語(yǔ)言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。

MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點(diǎn)是他支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z(yǔ)言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能。接下來(lái)記錄一下在終端怎么使用MongoDB:

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泰宁县| 河津市| 张北县| 沙田区| 阜平县| 孟津县| 通山县| 阿坝| 竹北市| 阿瓦提县| 泰来县| 宜昌市| 阿克陶县| 沙湾县| 若羌县| 邹平县| 库伦旗| 长岛县| 成武县| 罗山县| 时尚| 岫岩| 宜宾县| 顺昌县| 东港市| 瓦房店市| 濮阳市| 峨山| 宣化县| 遂溪县| 秦皇岛市| 隆林| 普陀区| 长葛市| 屯门区| 静宁县| 定日县| 红原县| 华蓥市| 卢氏县| 山丹县|