1. 程式人生 > >pymongo 的幾個常用操作

pymongo 的幾個常用操作

學到了 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等 ,分別用於數字的增減,刪除鍵,新增陣列型別
這裡寫圖片描述