輕鬆入門mongo 數據庫

use data 創建數據庫

show dbs show databases 顯示所有數據庫

db 顯示當前數據庫

db.dropDatabase() 刪除當前數據庫

創建集合 固定集合大小為100 最大數值1000

db.createCollection('student',{capped:true,size:100,max:1000})

//顯示所有集合

show collections

//刪除集合

db.集合名.drop()


//插入集合 _id存在就報錯

db.runoob.insert({_id:0001,'name':'hw','age':10})

//顯示集合內容

db.runoob.find()

//顯示一條集合內容

db.runoob.findOne()

//格式化顯示集合內容

db.runoob.find().pretty()

//保存集合_id存在就更新

db.runoob.save({_id:0001,'name':'hw','age':10})

//更新集合

$set 指定鍵並更新 不存在則創建 $unset 刪除

db.runoob.update({'name':'hw'},{'name':'xz'}) //更新一條數據替換

db.runoob.update({'name':'hw'},{$set{'name':'xz'}}) //更新一條數據更新

db.runoob.update({'name':'hw'},{'name':'xz'},{multi:true}) //更新全部數據

//刪除集合數據

db.runoob.remove({'name':'hw'},{justOne:true}) //刪除一條數據

db.runoob.remove({'name':'hw'},{justOne:false}) //刪除全部數據


//查詢數據

$lt--小於 $lte--小於等於

$gt--大於 $gte--大於等於

$ne--不等於 $in $nin--是否處在該範圍

$and $or 查詢條件與或

$type

/^abc/ $regex:'abc$' 正則表達式

limit(num) 顯示指定數量的結果

skip(num) 跳過指定數量的結果

$where 查詢函數

_id默認顯示,不顯示則把值設為0

sort() 排序,參數為1升序 -1 降序

count() 統計查詢結果數量 也可把查詢參數放進count中

distinct() 消除重複數據

db.runoob.find({age:{$gte:18}})

db.runoob.find({age:{$in:[12,32,21]}})

db.runoob.find({$and:{age:{$in:[12,32,21]},{age:{$gte:18}}}})

db.runoob.find({age:{$gte:18}}).skip(3).limit(2)

db.runoob.find({age:/^abc/,name:{$regex:'123$'}})

db.runoob.find($where:function(){return this.age<=19})

db.runoob.find({age:{$gte:18}}).sort({age:1})

db.runoob.distinct({age:{$gte:18}})


//備份數據

mongodump -h dbhost -d dbname -o dbdirectory

-h 服務器地址

-d 需要備份的數據庫名稱

-o 備份數據庫存放位置

//數據恢復

mongorestore -h dbhost -d dbname --dir dbdirectory

-h 服務器地址

-d 需要恢復的數據庫實例

--dir 備份數據所在位置


//數據聚合

$group分組 $match過濾數據 $project修改文檔結構

$sort排序 $limit指定數量 $skip 跳過

$unwind 拆分數組類型的字段 $pushAll

$sum 和 $avg 平均值 $push 添加值至數組

$pop $addToSet $pull $rename $bit

$first開頭 $last結尾 $min $max

db.runoob.aggregate({$group:{_id:'$name',count:{$sum:1},avg_age:{$avg:'$age'}}}

,{$project:{name:'$_id',count:'$count',avg_age:'$avg_age'}},

{$match:{age:{$gt:20}}},{$unwind:{'$age',preserveNullAndEmptyArrays:true}} //true保留缺失值

)


//建立唯一值的索引

db.runoob.ensureIndex({name:1},{'unique':true}) //1升序 -1降序

db.runoob.find({name:'he'}).explain('executionStats') //獲取時間

//查看集合中所有索引

db.runoob.getIndexes()

//刪除索引

db.runoob.dropIndex('name')

//監控

Mongostat 檢測數據庫狀態

Mongotop sleeptime - -locks 跟蹤一個MongoDB的實例


輕鬆入門mongo 數據庫


分享到:


相關文章: