1.幾個重要進程
1.1Mongod進程仔引,負責數(shù)據(jù)庫的創(chuàng)建死宣,刪除,管理钙姊。運行在服務器端為客戶端提供監(jiān)聽桥嗤。
1.2mongo進程须妻,與Mongod交互的JavaScript shell進程,用于系統(tǒng)管理員管理數(shù)據(jù)庫系統(tǒng)泛领。
1.3mogodump荒吏,備份
1.4mogoexport,導出成json或csv
1.5mongoimport渊鞋,導入
1.6mogos绰更,分片
1.7mongofiles,操作分布式文件存儲系統(tǒng)
1.8mongostat:展示mongod正在運行的實例
1.9mongotop:提供一個分析耗時的跟蹤方法
2.數(shù)據(jù)操作
2.1查詢db.example.find({ex_id:123},{name:1,order:1})
2.1.1單條件查詢db.example.find({id:1})
2.1.2多條件查詢db.example.find({id:1,name:"someone"})
2.1.3范圍查詢,小于 db.example.find({age:{$lt:65}})
$lte:小于等于;$gt:大于;$gte:大于等于;{$gt:10,$lte:20}:10-20之間;$in:在范圍內(nèi)锡宋;$nin:[1,2]:不在[1儡湾,2]中;$ne:不等于;
$or:[{},{}];$and:[{},{}]兩個條件的或與
db.example.find({id:{$exists:false}}):不存在ID字段的所有記錄;
2.1.4查詢結(jié)果過濾顯示:只顯示id和Name,且不顯示默認字段_id,db.example.find({'school.name.1':ustb},{_id:0,id:1,name:1})
顯示最后一個名字db.example.find({'school.name.1':ustb},{_id:0,name:{"$slice:-1"},id:1})
2.1.5查詢結(jié)果處理db.example.find({}).skip(1).limit(5).sort({id:-1})
2.1.6查詢數(shù)組類型的屬性
完全匹配db.example.find({"ArrayName":["a","b","c"]})
包含某些值db.example.find({"ArrayName":["a"]})
匹配指定位置db.example.find({"ArrayName.0":["a"]})
2.2插入db.example.insert({name:"Tom"})
2.2.1添加索引db.example.ensureIndex({name:1},{unique:true})
2.2.2添加符合索引db.example.ensureIndex({name:1,country:1})
2.2.3通過索引查找db.example.find({name:"abc",country:"xyz"}).explain()
2.2.4刪除索引db.example.dropIndex("name_1_country_1")
2.2.5打開慢查詢?nèi)罩?db.setProfilingLevel(level,[ slowms]) ?level=0:關閉日志执俩,1徐钠,記錄大于100ms的查詢,2役首,記錄所有日志尝丐;slowms:修改查詢的閾值
2.3修改db.example.update(query,update,<upsert>,<multi>)upsert=true:不存在則插入。milti=true:修改多個匹配值
2.3.1修改屬性db.example.update({name:"apple"},{$set:{name:"appple8",$inc:{price:2000}}})
2.3.2整個替換db.example.update({name:"htc"},{name:"htc one"},{upset:true},{multi:true})
2.4刪除db.example.remove(<query>,<justOne>)
2.4.1刪除第一個數(shù)據(jù)db.example.remove({name:"htc"},1)
2.4.2刪除所有數(shù)據(jù)db.example.remove()
2.4.5刪除索引db.example.drop()