pymongo 的幾個常用操作
阿新 • • 發佈:2018-12-24
學到了 MongoDB
Mongo 是一個基於分散式檔案儲存的資料庫,由 C++ 編寫,旨在為 Web 應用提供可拓展的高效能資料儲存解決方案.它介於關係資料庫和非關係資料庫之間,在非關係資料庫中最像關係資料庫.
首先在 pycharm 中安裝 pymongo 庫
首先每次使用資料庫前要開啟 MongoDB 服務,即在檔案目錄下分別執行 mongod , mongo 命令
且關閉資料庫最好用 Ctrl+C 再推出 cmd
輸入 Label 後,建立一個mongodb
測試連線後就可以使用了
MongoDB檔案儲存格式是 json 所以一般都存字典
- 建立資料庫,表
測試程式碼:
import requests
import pymongo
import time
dic={'name':111,'id':222}
client=pymongo.MongoClient()
testdb=client['TEST_DB']
testsheet=testdb['TEST_SHEET']
testsheet.insert_one(dic)
MongoDB 是惰性的,意思就是在真正寫入資料前,都不會建立資料庫
- 查詢操作
import requests
import pymongo
import time
dic={'name':111,'score':222 }
dic1={'name':1111,'score':2222}
client=pymongo.MongoClient() # MongoClient('localhost':27017)
testdb=client['TEST_DB'] # 新建資料庫 類似字典
testsheet=testdb['TEST_SHEET'] # 新建表
testsheet.insert_one(dic)
testsheet.insert_one(dic1)
# 查詢修改.find()
for item in testsheet.find():
print(item)
# update 方法 $set
testsheet.update_one({'name':item['name']},{'$set':{'name':item['name']+5}})
#查詢score大於2220的
for item in testsheet.find({'score':{'$gt':2220}}):
print(item['name'])
#output
{'_id': ObjectId('5b12cd10fdf462257827248e'), 'name': 116, 'id': 222}
{'_id': ObjectId('5b12d5d1fdf46223ec431bde'), 'name': 116, 'score': 222}
{'_id': ObjectId('5b12d5d1fdf46223ec431bdf'), 'name': 1116, 'score': 2222}
{'_id': ObjectId('5b12d6d5fdf46213b4485dda'), 'name': 111, 'score': 222}
{'_id': ObjectId('5b12d6d5fdf46213b4485ddb'), 'name': 1111, 'score': 2222}
1121
1116
其中
testsheet.update_one({'name':item['name']},{'$set':{'name':item['name']+5}})
第一個引數是 {'name':item['name']}
為更新的查詢條件,對應’name’欄位,
第二個引數是{'$set':{'name':item['name']+5}})
$set是MongoDB的一個修改器,用於指定一個鍵並更新鍵值.,若不存在則新建.此外還有$inc,$unset,$push等 ,分別用於數字的增減,刪除鍵,新增陣列型別