MongoDB簡介
MongoDB 是一個基於分布式文件存儲的數據庫。由C++語言編寫。旨在為WEB應用提供可擴展的高性能數據存儲解決方案。
- MongoDB是一個基於分布式文件存儲的數據庫
- MongoDB是介於NoSQL和關系型數據庫之間的一款產品
- MongdoDB是基於C++語言編寫
- MongoDB具有查詢語言、索引、Key-Value存儲結構
- MongoDB存儲數據是以BSON類型(二進制JSON)
Redis(讀寫快、做緩存)—>MongoDB(數據量大、查詢統計、缺乏事務支持)—>Oracle(數據量大、查詢統計方便、事務強)
MongoDB適用於單表數據操作、完整性要求不高的系統使用
MoongoDB特點是高性能、易部署、易使用,存儲數據非常方便。
MongoDB應用
Oracle: 用戶空間–>表–>記錄
MongoDB: 庫–>集合–>JSON對象(記錄)
- 查看
show dbs //查看有哪些庫
show collections //查看庫中有哪些集合
- 庫操作
use 庫名 //使用某個庫,進入某個庫,創建一個庫
庫名.dropDatabase() //刪除
-
集合操作
對集合進行增刪改差操作。
db.集合名.insert(xx) //創建集合插入記錄
db.集合名.drop() //刪除集合
db.集合名.find() //查詢
db.集合名.update() //更新
db.集合名.remove() //刪除
- 添加操作
//插入單個記錄 db.dept.insert({"deptno":10,"dname":"java"}) //插入多個記錄 db.dept.insert([{"deptno":10,"dname":"java"},{"deptno":20,"dname":"javaee"}])
- 查詢操作
//查詢所有記錄 db.dept.find() //查詢deptno=10的記錄 db.dept.find({"deptno":10}) //查詢deptno>20的記錄 (其他$gte、$lt、$lte、$ne) db.dept.find({"deptno":{$gt:20}}) //查詢dname以j字母開始的記錄 db.dept.find({"dname":/^j/}) //查詢dname中包含a的記錄 db.dept.find({"dname":/a/})
- 刪除操作
//刪除deptno=10的記錄 db.dept.remove({"deptno":10}) //刪除所有記錄 db.dept.remove({})
- 更新操作
//全部更新,會將整個json對象蓋掉 db.dept.update({"deptno":30},{"phone":"1354444444"}) //部分更新,修改某個屬性值 db.dept.update({"deptno":30},{$set:{"phone":"1354444444"}})
- 統計操作
//統計總記錄數
db.dept.count()
//統計符合條件的記錄數
db.dept.count({"dname":"java"})