分類:
關係型數據庫: MySql
非關係型數據庫: MongoDBsql
安裝
系統不太支持高版本、 降版本 3.2 3.4 mongodb
寫在mongodb時候, 記得刪除以前建立好的文件夾數據庫
MongoDB的存儲數據的形式bsonexpress
數據庫功能是用來存儲數據的。
數據庫分爲關係係數據庫和非關係型數據庫(nosql)
關係型數據庫是由表和表之間的關係組成的,nosql是由集合組成的,集合下面是不少的文檔。
非關係型數據庫文件存儲格式爲BSON(一種JSON的擴展)。json
MongoDB
數據庫 -》 集合 -》 文檔
針對數據庫(database)的操做後端
針對集合(collections)的操做app
(1)建立一個集合
db.createCollection("collName", {size: 20, capped: true, max: 100});
db.collName.isCapped(); //判斷集合是否爲定容量
(2)獲得指定名稱的集合
db.getCollection("account");
(3)獲得當前db的全部集合
db.getCollectionNames();
(4)顯示當前db全部集合的狀態
db.printCollectionStats()前後端分離
針對文檔(docuemnt)的操做koa
查詢
db.coll_name.find(arg1,arg2) 全部的
參數解釋:
arg1 表示的是匹配條件
arg2 表示未來輸出的內容匹配 0 表示不要, 1表示要nosql
舉例:
db.movies.find({year:'1993'},{_id:0,title:1})
升序
舉例:
db.movies.find({year:'1993'},{_id:0,title:1}).sort({year:1})
降序
舉例
db.movies.find({year:'1993'},{_id:0,title:1}).sort({year:-1})
截取 某條之前 limit
db.movies.find({year:'1993'},{_id:0,title:1}).limit(5)
截取 某條之後 skip
優先級:
sort>skip>limit
$or表示或者, 能夠匹配多個條件
db.teachers.find({$or:[{age:10},{age:40}]})
findOne() 第一條數據
db.teachers.findOne()
count() 計數
舉例:
db.movies.find({year: {$gt:"1993"}},{_id:0,title:1,year:1}).count() //16
修改
db.coll_name.update(arg1,arg2,arg3,arg4)
參數解釋:
arg4: false / true 修改幾條 false 一條 true 多條
$set 直接設置
db.teachers.update({age:120},{$inc: {age: 80}},false,true)
$inc 在當前基礎上增長多少
db.teachers.update({age:120},{$inc: {age: 80}},false,true)
注意:db.students.update({name:'lwj'},{$inc;{age:10}},true,false)//只能修改第一條,一句話來講,雖然匹配多條但修改一條就是一條
db.students.update({name:'lwj'},{$inc:{age:10}},true)//同上
db.students.update({name:'lwj'},{$inc:{age:10}},false)//同上
db.students.update({name:'lwj'},{$inc:{age:10}},false,true)//這個天然是全都修改了