標籤:exe 唯一索引 結果 ensure 建立 lin 記錄 lte god
基本查看:
show dbs;#查看所有的資料庫
show collectios;#查看所有的集合
use db;切換資料庫,如果不存在的話就建立
db.dropDatabase();#刪除資料庫
增刪改查:
db.lhy.insert({"name":"林青霞","age":"18","sex":"nan"});
db.zxy.insert({"username":"lqx","password":"123456"});
db.zxy.update({"username":"zxy"},{"username":"lhy","password":"123456"});
db.zxy.insert({"name":"lhy","age":"18","sex":"nv"});
db.zxy.update({"age":"18"},{"age":19});
db.zxy.update({"age":"18"},{$set:{"age":19}}); #如果要修改指定的key,就用$set
db.zxy.remove({});#刪除整個集合裡面的資料
db.zxy.remove({"age":19,"name":"xxx"});#刪除指定的資料
db.zxy.remove({"age":"18"});
db.zxy.remove({"age":"18"},2);#刪除指定的條數
db.zxy.find({"age":18,"name":"sex"});#查詢指定的資料
db.zxy.find();#查看所有的;
db.zxy.find({"name":"lqx"});#查看指定的資料;
db.zxy.find({"name":"lqx","age":18});#and
db.zxy.find().pretty();#格式化資料
db.zxy.find().count();#查看行數
db.zxy.find().sort({"name":-1})#排序,1是升序,-1是降序
db.zxy.find({$or:[{"sex":"nan"},{"name":"林青霞"}]}).pretty(); #or操作
db.zxy.find({"age":{$gte:20}}).pretty();#做筆記操作,大於等於20的
$gte:大於等於
$gt:大於
$lte:小於等於
$lt:小於
profile(慢查詢):
db.getProfilingLevel()#擷取當然profile的層級
db.setProfilingLevel(1,2000)#記錄超過2s
db.setProfilingLevel(2);
0:不開啟
1:記錄慢命令,預設為大於100ms
2:記錄所有命令
db.system.profie.find();#查詢慢查詢的記錄
ts: 該命令在何時執行
op: 操作類型
query: 本命令的詳細資料
responseLength: 返回結果集的大小
ntoreturn: 本次查詢實際返回的結果集
millis: 該命令執行耗時,以毫秒記
索引:
db.lhy.ensureIndex({"name":1})#建立一個普通索引
db.lhy.ensureIndex({"name":1,"age":1});#多列索引
db.lhy.ensureIndex({"name":1},{"unique":true});#唯一索引
db.system.indexes.find();#查看索引
db.collections.getIndexes();#查看當前集合中的索引
db.lhy.dropIndex({"name":1});#刪除指定索引
db.user.dropIndexes();刪除所有的索引
explain(解析):
db.lhy.find({"name":"趙小靜"}).explain();#解析查詢語句
millis: 耗時(毫秒
indexBounds: 所使用的索引,如果這個欄位沒有的話,根本就沒有使用索引
Mongodb基本查詢及監控