Flask第四天-MongoDB介紹、增刪改查、資料型別、比較符、查詢關鍵字、修改器、排序選取跳過
db 檢視當前資料庫
show dbs 查詢所有資料庫(在物理磁碟上的)
use SS2DAY04 建立資料庫(此時非儲存在物理磁碟,只存在記憶體上)
db.users 切換到指定資料庫
db.users.insert({name:"caiwenji",age:16}) 插入新資料,並將資料寫入到物理磁碟上,官方不推薦使用
db.user.insertMany([{"name":"金王八"},{"name","egon"}]) 插入多條資料,推薦使用
db.user.insertOne([{"name":"金王八"} 插入一條資料,推薦使用
db.users.find() 查詢多條資料
db.users.findOne({}) 查詢一條資料
db.users.update({"name":"caiwenji"},{$set:{"age":18}}) 修改(覆蓋行為)資料,官方不推薦使用
"_id" : ObjectId("5bda51bec1bae403090977e7")
db.users.updateOne({},{$set:{"cursors":""}}) 更新一條資料
db.users.updateMany({},{$set:{"cursors":""}}) 更新多條資料
db.users.remove({"age":21}) 刪除資料,官方不推薦使用
db.users.deleteMany({"age":30}) 刪除滿足條件的全部資料
db.users.deleteOne({"age":30}) 刪除滿足條件的第一條資料
關係型資料庫 非關係型資料庫
table collection 表
row Documents 資料條目
column Field 欄位
MongDB資料型別:
Object ID :Documents 自生成的 _id
String: 字串,必須是utf-8
Boolean:布林值,true 或者false (這裡有坑哦~在我們大Python中 True False 首字母大寫)
Integer:整數 (Int32 Int64 你們就知道有個Int就行了,一般我們用Int32)
Double:浮點數 (沒有float型別,所有小數都是Double)
Arrays:陣列或者列表,多個值儲存到一個鍵 (list哦,大Python中的List哦)
Object:如果你學過Python的話,那麼這個概念特別好理解,就是Python中的字典,這個資料型別就是字典
Null:空資料型別 , 一個特殊的概念,None Null
Timestamp:時間戳
Date:儲存當前日期或時間unix時間格式 (我們一般不用這個Date型別,時間戳可以秒殺一切時間型別)
數學比較符:
$lt: <
$lte: <=
$gt: >
$gte: >=
$eq: =
: : = or ==
$:
儲存滿足條件的資料下標索引位置
db.users.updateOne({"other.name":"linux","name":"銀網咖"},{$set:{"other.$.score":19}})
$ 關鍵字:
$or : db.users.fine({$or:[{age:18},{name:"銀網咖"}]})
$and or ,
$in
$all
$修改器 update:
$set:直接將欄位的值設定為value
$unset:刪除欄位
$inc:原值增加 db.users.updateMany({name:"金王八"},{$inc:{cursors:1}})
$array修改器:
$push : append(item) db.users.updateMany({name:"金王八"},{$push:{hobby:10}})
$pull : remove(item) db.users.updateMany({name:"金王八"},{$pull:{hobby:10}})
$pop: pop() db.users.updateMany({name:"金王八"},{$pop:{hobby:-1}}) 1最後一個 -1第一個
MONGDB.student.delete_many({}) 清空表格但表格還在
MONGDB.student.drop() 清空表格以及刪除表格
limit:db.users.find({}).limit(2) 顯示條目數量
skip:db.users.find({}).skip(1) 跳過條目數量
簡單分佈:db.users.find({}).limit(當前頁碼*每頁條目).skip(每頁條目)
sort排序:
sort:db.users.find({}).sort({age:1}) 1:ASC -1:DESC
分佈排序多重用法:
db.users.find({}).sort({age:-1}).limit(2).skip(2)