激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 詳解Python3操作Mongodb簡明易懂教程

詳解Python3操作Mongodb簡明易懂教程

2020-11-12 00:43星空幻穎 Python

本篇文章主要介紹了詳解Python3操作Mongodb簡明易懂教程,詳細的介紹了如何連接數據庫和對數據庫的操作,有需要的可以了解一下。

連接數據庫

鏈接數據庫需要提供一個地址和接口即可。首先還是要導入包。

 
?
1
 
2
from pymongo import MongoClient
conn = MongoClient('localhost',27017)

當然,你可以使用如下寫法:

 
?
1
 
conn = MongoClient('mongodb://localhost:27017/')

創建數據庫

mongodb不需要提前創建好數據庫,而是直接使用,如果發現沒有則自動創建。

 
?
1
 
db = conn.testdb

上面的語句,會創建一個testdb的數據庫。但是,在沒有插入數據的時候,該數據庫在管理工具里面你是看不到的(不顯示)。

插入數據

首先第一步我們先插入一條數據瞧瞧。

單條記錄插入

 
?
1
 
2
3
4
from pymongo import MongoClient
conn = MongoClient('mongodb://localhost:27017/')
db = conn.testdb
db.col.insert({"name":'yanying','province':'江蘇','age':25})

注意: 接下來的操作中會忽略掉數據庫連接操作,直接寫核心代碼,請自行補上。

python控制臺什么都沒有發生,這就是成功的意思。使用管理工具查看數據庫記錄,的確包含了一條數據。

詳解Python3操作Mongodb簡明易懂教程

多條記錄插入

Mongodb一次也可以插入多條數據

 
?
1
 
2
3
4
5
6
7
db.col.insert([
 {"name":'yanying','province':'江蘇','age':25},
 {"name":'張三','province':'浙江','age':24},
 {"name":'張三1','province':'浙江1','age':25},
 {"name":'張三2','province':'浙江2','age':26},
 {"name":'張三3','province':'浙江3','age':28},
])

查詢數據

下面我們將剛剛插入的數據查詢出來。

單條查詢

我們可以使用find_one()來查詢一條記錄。

 
?
1
 
db.col.find_one()

上面的語句可以查詢出一條mongodb記錄。記錄中多出來的_id是Mongodb自動生成的唯一值。

 

復制代碼 代碼如下:

{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江蘇', 'age': 25}

 

我們再隨便插入點兒數據供下面操作使用。(省略幾萬字)

查詢所有

如果我們需要查詢出所有的記錄,則可以使用db.col.find()但是查出來的是一個結果資源集。

我們可以使用for來列出所有記錄。

 
?
1
 
2
for item in db.col.find():
 print(item)

這樣可以獲取所有記錄。

 
?
1
 
2
3
4
{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江蘇', 'age': 25}
{'_id': ObjectId('592550e5d92fac0b8c449f87'), 'name': 'zhangsan', 'province': '北京', 'age': 29}
{'_id': ObjectId('592550f6d92fac3548c20b1a'), 'name': 'lisi', 'province': '上海', 'age': 22}
{'_id': ObjectId('59255118d92fac43dcb1999a'), 'name': '王二麻', 'province': '廣東', 'age': 30}

條件查詢

只要將查詢條件當做參數塞入即可篩選數據。

 
?
1
 
2
for item in db.col.find({'name':"yanying"}):
 print(item)

查詢結果

 

復制代碼 代碼如下:

{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江蘇', 'age': 25}

 

當然還可以查詢小于某個值的記錄

 
?
1
 
2
for item in db.col.find({"age":{"$lt":25}}):
 print(item)

或者大于某個值的記錄

 
?
1
 
2
for item in db.col.find({"age":{"$gt":25}}):
 print(item)

統計查詢

上面的代碼可以統計出所有的記錄數量

 
?
1
 
db.col.find().count() // 4

或者加點兒條件

 
?
1
 
db.col.find({"age":{"$gt":25}}).count() //2

根據_id查詢記錄

_id是mongodb自動生成的id,其類型為ObjectId,想要使用就需要轉換類型。

python3中提供了該方法,不過需要導入一個庫。

 
?
1
 
from bson.objectid import ObjectId

這樣就可以直接使用_id進行查詢啦。

 
?
1
 
collection.find_one({'_id':ObjectId('592550e5d92fac0b8c449f87')})

結果排序

只要將需要排序的字段放入sort方法即可,Mongodb默認為升序

 
?
1
 
db.col.find().sort("age")

不過你也可以加一些參數去改變排序的方式。比如倒序,不過要記得先導入pymongo庫

 
?
1
 
2
import pymongo
db.col.find().sort("UserName",pymongo.DESCENDING)

你還可以讓他升序,盡管默認如此

 
?
1
 
2
for item in db.col.find().sort('age',pymongo.ASCENDING):
 print(item)

更新數據

更新數據很簡單,只需要一個條件和需要更新的數據即可

 

復制代碼 代碼如下:

db.col.update({'_id':ObjectId('59255118d92fac43dcb1999a')},{'$set':{'name':'王二麻33333'}})

 

結果如下:王二麻變成了王二麻33333

 

復制代碼 代碼如下:

{'_id': ObjectId('59255118d92fac43dcb1999a'), 'name': '王二麻33333', 'province': '廣東', 'age': 30}

 

刪除數據

刪除數據使用remove()方法,如果方法帶條件,則刪除指定條件數據,否則刪除全部

刪除name為王二麻33333的用戶。

 
?
1
 
db.col.remove({'name':'王二麻33333'})

刪除全部數據(慎用)

 
?
1
 
db.col.remove()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://segmentfault.com/a/1190000009542534

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91精品国产综合久久男男 | 久久精品国产久精国产 | 国产人成精品综合欧美成人 | 一级黄色影院 | 成人免费在线播放 | 精品一区二区免费 | 激情亚洲一区二区 | 91网页 | 在线观看中文字幕av | 成人午夜高清 | xxxxhdhdhdhd日本| 99激情视频 | 国产一级桃视频播放 | 成人黄视频在线观看 | 国产午夜精品一区二区三区四区 | 成人福利视频在 | 欧美日韩免费在线观看视频 | 国产剧情在线观看一区二区 | 法国性xxx精品hd专区 | 在线成人一区 | 日韩精品二区 | 国产一区亚洲 | 婷婷久久影院 | 亚洲性综合网 | 国产精品av久久久久久无 | 色屁屁xxxxⅹ免费视频 | 91 在线视频观看 | 国产剧情在线观看一区二区 | 9丨九色丨国产 | 欧美性生活视频免费看 | 精品一区二区三区在线观看视频 | 精品一区二区亚洲 | 国产毛片在线高清视频 | 成人久久免费 | 91看电影| 蜜桃网在线观看 | 久章草在线视频 | 亚洲码无人客一区二区三区 | 99这里有精品 | 午夜视频福利 | 黄色视屏免费在线观看 |