mongo_conn = mongo['user']
a.查詢所有:mongo_conn.find({})
b.單條記錄查詢:mongo_conn.find_one()
c.多條記錄查詢:
# 對於多條資料的查詢,我們可以使用find()方法,例如在這裡查詢年齡為20的資料,示例如下:
results = mongo_conn.find() # 返回結果是cursor型別,相當於乙個生成器,我們需要遍歷取到所有的結果,每乙個結果都是字典型別。
for result in results:
print(result)
d.條件規則查詢
# 如果要查詢年齡大於20的資料,則寫法如下:results = collection.find(})
# 在這裡將比較符號歸納如下表:
$lt小於}
$gt大於}
$lte小於等於}
$gte大於等於}
$ne不等於}
$in在範圍內}
$nin不在範圍內}
# 在這裡將一些功能符號再歸類如下:
$regex匹配正則}name以m開頭
$exists屬性是否存在}name屬性存在
$type型別判斷}age的型別為int
$mod數字模操作}年齡模5餘0
$text文字查詢}text型別的屬性中包含mike字串
$where高階條件查詢自身粉絲數等於關注數
要統計查詢結果有多少條資料,可以呼叫count()方法,
a.如統計所有資料條數:
count = mongo_conn.find().count()
b. 或者統計符合某個條件的資料:
count = mongo_conn.find().count()
a.可以呼叫sort方法,傳入排序的字段及公升降序標誌即可,
示例如下:
results = mongo_conn.find().sort('name', pymongo.ascending)
b. 偏移,可能想只取某幾個元素,在這裡可以利用skip()方法偏移幾個位置,比如偏移2,就忽略前2個元素,得到第三個及以後的元素。
results = mongo_conn.find().sort('name', pymongo.ascending).skip(2)
c. 另外還可以用limit()方法指定要取的結果個數,示例如下:
results = mongo_conn.find().sort('name', pymongo.ascending).skip(2).limit(2)
# 值得注意的是,在資料庫數量非常龐大的時候,如千萬、億級別,最好不要使用大的偏移量來查詢資料,很可能會導致記憶體溢位,可以使用類似find(}) 這樣的方法來查詢,記錄好上次查詢的_id。
a. 對於資料更新可以使用update()方法,指定更新的條件和更新後的資料即可,例如:
condition =
student = mongo_conn.find_one(condition)
student['age'] = 25
result = mongo_conn.update(condition, student) #執行結果:
# 返回結果是字典形式,ok即代表執行成功,nmodified代表影響的資料條數。
b 另外update()方法其實也是官方不推薦使用的方法,在這裡也分了update_one()方法和update_many()方法,用法更加嚴格,
# 第二個引數需要使用$型別操作符作為字典的鍵名,我們用示例感受一下。
condition =
student = mongo_conn.find_one(condition)
student['age'] = 26
result = mongo_conn.update_one(condition, ) # 其返回結果是updateresult型別,然後呼叫matched_count和modified_count屬性分別可以獲得匹配的資料條數和影響的資料條數。
print(result.matched_count, result.modified_count)
# 我們再看乙個例子:
condition = }
result = mongo_conn.update_one(condition, }) # 在這裡我們指定查詢條件為年齡大於20,然後更新條件為},執行之後會將第一條符合條件的資料年齡加1。
# 如果呼叫update_many()方法,則會將所有符合條件的資料都更新,示例如下:
condition = }
result = mongo_conn.update_many(condition, }) # 所有匹配到的資料都會被更新。
c. replace_one()
student = mongo_conn.replace_one(, ) #更改儲存鍵名
a. 刪除操作比較簡單,直接呼叫remove()方法指定刪除的條件即可,符合條件的所有資料均會被刪除,示例如下:
result = mongo_conn.remove() # 執行結果:
b. delete_one()和delete_many()方法:
result = mongo_conn.delete_one()
result = mongo_conn.delete_many(})
print(result.deleted_count)
# delete_one()即刪除第一條符合條件的資料,delete_many()即刪除所有符合條件的資料,返回結果是deleteresult型別,
# 可以呼叫deleted_count屬性獲取刪除的資料條數。
a.find_one_and_delete
result = mongo_conn.find_one_and_delete() # 查詢第一條並刪除
b.find_one_and_replace
result = mongo_conn.find_one_and_replace(, ) # 查詢第一條並替換
c.find_one_and_update
result = mongo_conn。find_one_and_update(, , '$set': }) #執行結果: }
增刪改查基本操作
增加 建立資料庫 create database database name 建立資料庫中的表單 create table table name 列1 資料型別,列2 資料型別,列3 資料型別 往表單中新增資料 insert into table name values 1 2 3 刪除 刪除資料庫...
mongodb增刪改查基本操作
mongodb資料庫基本用法 查詢 1.條件操作符的使用,日期格式的查詢,長度 db.getcollection interougeproduct find interougestockmaps 2.查詢列只顯示指定字段 1 表示展示,0表示隱藏 db.getcollection interouge...
mysql基本操作 增刪改查
增加 insertinsert into 表名 欄位1,欄位2,values 值1,值2,insert into students class id,name,gender,score values 2,張三 m 80 3,大寶 f 90 可以一次新增一條,也可以一次新增多條,每條記錄都是由 包含的...