TDengine在鋼鐵冶金行業能源管理系統中的應用
本文學習內容來自b站的黑馬程式設計師!連結如下:
MongoDB簡介
MongoDB是一個開源、高效能、無模式的文件型資料庫
SQL術語 | MongoDB術語 | 解釋說明 |
---|---|---|
database | database | 資料庫 |
table | collection | 資料庫表/集合 |
row | document | 資料記錄行/文件 |
column | field | 資料欄位/域 |
index | index | 索引 |
業務應用場景
High performance:對資料庫高併發讀寫需求;
Huge Storage:對海量資料的高效率儲存和訪問需求;
High Scalability&High Availability:對資料庫的高擴充套件性和高可用性。
MongoDB可應對“三高”需求
具體的應用場景如:
1.社交場景:儲存使用者資訊以及朋友圈資訊,通過地理位置索引實現附近的人、地點等功能;
2.遊戲場景:儲存使用者資訊、裝備、積分等直接以內嵌文件的形式儲存,方便查詢、高效率儲存和訪問;
3.物流場景:儲存訂單資訊,訂單狀態運送過程中不斷更新,以內嵌陣列形式儲存;
4.物聯網場景:儲存所有接入的智慧裝置資訊,以及裝置彙報的日誌資訊,並對這些資訊進行多維度的分析;
5.視訊直播:儲存使用者資訊、點贊互動資訊、評論留言等。
這些應用場景的共同特點有: 1.資料量大;2.讀寫頻繁;3.價值較低,對事務性要求不高。
MongoDB的下載和安裝
上面的連結附帶多個環境的下載地址和操作文件!
啟動
mongod --dbpath=..\data\db 在bin目錄中開啟命令提示符操作
連線
mongo --host=localhost --port=27017
選擇和建立資料庫
use 資料庫名稱
檢視資料庫
show dbs
資料庫刪除
db.dropDatabase()
集合建立和刪除
集合顯式建立
db.createCollection(name) ps:name為集合名
集合刪除
db.集合.drop
文件基本CRUD(collection為集合名)
db.collection.insert() 單個文件插入
db.collection.insertMany() 批量文件插入
db.collection.find() 查詢
db.collection.findOne() 查詢第一條資料
db.collection.update(query,update,options) 修改
db.collection.remove({query}) 刪除
db.collection.remove({}) 刪庫跑路rm -rf /
1.覆蓋修改
db.collection.update({query條件},{update內容})
2.區域性修改
db.collection.update({query條件},{$set:{update內容}})
3.批量修改
db.collection.update({query條件},{$set:{update內容},{multi:true}})
4.列值增長的修改
db.collection.update({query條件},{$inc:{update內容}})
文件的分頁查詢
db.collection.count({query}) 統計記錄數
db.collection.find().limit(num) 分頁列表查詢
db.collection.find().skip(num) 跳過num條資料查詢
db.collection.find().skip(num).limit(num)
db.collection.find().sort({query:1/-1}}) 排序查詢 1為升,-1為降
文件的更多查詢
1.正則的複雜條件查詢
db.collection.find({query:/關鍵字/}) 查詢包含關鍵字
db.collection.find({query:/^關鍵字/}) 查詢以關鍵字開頭
2.比較查詢
db.collection.find({“field”:{$gt:value}}) 大於:field > value
$gt大於、$lt小於、$gte大於等於、$lte小於等於、$ne不等於
3.包含查詢
db.collection.find({query:{$nin:["關鍵字"]}}) 不包含
4.連線查詢
db.collection.find($and:[{},{}]) 並且
db.collection.find($or:[{},{}]) 或