国产探花免费观看_亚洲丰满少妇自慰呻吟_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            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍邱县| 九寨沟县| 鄂托克旗| 梅州市| 常德市| 苍南县| 诸暨市| 黄山市| 武隆县| 台南市| 嵊州市| 利津县| 东乌| 嘉义市| 重庆市| 丹巴县| 淮阳县| 东台市| 遵化市| 南昌市| 永胜县| 黑山县| 花莲市| 亚东县| 右玉县| 慈溪市| 九江县| 南汇区| 苍山县| 大方县| 浦县| 新昌县| 景泰县| 山丹县| 宣恩县| 盱眙县| 宁阳县| 防城港市| 徐州市| 嘉兴市| 恭城|