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

首頁 > 編程 > Python > 正文

使用Python腳本操作MongoDB的教程

2020-02-23 00:44:46
字體:
來源:轉載
供稿:網友

連接數據庫

MongoClient VS Connection

class MongoClient(pymongo.common.BaseObject) | Connection to MongoDB. | | Method resolution order: |   MongoClient |   pymongo.common.BaseObject |   __builtin__.object |class Connection(pymongo.mongo_client.MongoClient) | Connection to MongoDB. | | Method resolution order: |   Connection |   pymongo.mongo_client.MongoClient |   pymongo.common.BaseObject |   __builtin__.object


 

從這兩個類的繼承來看,connection是繼承了MongoClient的,建議使用MongoClient而不是使用Connection。(也就是說,MongoClient可以使用方法Connection都可以使用)

from pymongo import MongoClientclient = MongoClient('192.168.40.87', 27037)db_name = 'TCL_Useraction'db = client[db_name]collection_useraction = db['useraction']

 

這里是通過字典的方式訪問數據庫和集合,同時你也可以通過.(點號)的方式訪問
插入數據

save() VS insert()

mongodb的save和insert函數都可以向collection里插入數據,但兩者是有兩個區別:

一、save函數實際就是根據參數條件,調用了insert或update函數.如果想插入的數據對象存在,insert函數會報錯,而save函數是改變原來的對象;如果想插入的對象不存在,那么它們執行相同的插入操作.這里可以用幾個字來概括它們兩的區別,即所謂"有則改之,無則加之".

二、insert可以一次性插入一個列表,而不用遍歷,效率高, save則需要遍歷列表,一個個插入。

更新數據

對于單個數據來說,可以更新后使用save方法

update(criteria, objNew, upsert, mult)
criteria: 需要被更新的條件表達式
objNew: 更新表達式
upsert: 如目標記錄不存在,是否插入新文檔。
multi: 是否更新多個文檔。

collection_useraction.update({'gid':last_gid, 'time':l_date}, {'$set':{'gid':last_gid}, '$set':{'time':l_date}, '$addToSet':{'categories':category_data}}, upsert=True)

 
刪除數據

db.users.drop() # 刪除集合remove(self, spec_or_id=None, safe=None, multi=True, **kwargs)# remove() 用于刪除單個或全部文檔,刪除后的文檔無法恢復。id = db.users.find_one({"name":"user2"})["_id"]db.users.remove(id) # 根據 id 刪除一條記錄db.users.remove() # 刪除集合里的所有記錄db.users.remove({'yy':5}) # 刪除yy=5的記錄

查詢

  5. 查詢

  # 查詢 age 小于 15 的  for u in db.users.find({"age":{"$lt":15}}): print u

  5.1 查詢一條記錄

  # 查詢 name 等于 user8 的  for u in db.users.find({"name":"user8"}): print u
  # 獲取查詢的一個  u2 = db.users.find_one({"name":"user9"}) # 查不到時返回 None  print u2            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江津市| 湖口县| 广安市| 聂拉木县| 晋宁县| 云南省| 太湖县| 梓潼县| 行唐县| 长丰县| 南丰县| 金沙县| 高雄市| 礼泉县| 武威市| 尖扎县| 从江县| 石门县| 齐齐哈尔市| 双江| 汉阴县| 九龙坡区| 南安市| 黎城县| 湛江市| 伽师县| 沂源县| 苍山县| 平乐县| 甘泉县| 玛多县| 肇庆市| 仁寿县| 安丘市| 闽侯县| 房产| 灵璧县| 乌鲁木齐县| 都兰县| 十堰市| 江津市|