show dbs 查看已經存在的數據庫數據庫
use 數據庫名 切換到指定的數據庫(不管數據庫是否存在 都可切換成功)數組
db 查看當前數據庫緩存
db.getCollectionNames() 查看當前數據庫下一共有哪些集合對象
db.集合名.insert(文檔) 向指定的集合錄入一條文檔
例如: db.users.insert({username:"xxx",age:98,height:180})
db.集合名.insert([文檔1,文檔2]) 向指定的集合插入多條文檔
例如: db.users.insert([
{username:"黃曉明",age:35,height:180},
{username:"ab",age:18,height:149}
])排序
db.集合名.insertMany([文檔1,文檔2]) 插入多條數據
db.集合名.insertOne(文檔) 插入單條數據ip
//==================== 查詢 ====================
db.集合名.find() 查詢指定的集合內全部數據rem
條件查詢文檔
db.集合名.find({條件},{顯示字段})
條件格式: 屬性名:值 ====> 屬性==值
屬性名:{條件操做符:值} 其餘條件查詢get
條件操做符
$gt : 大於
$gte : 大於等於
$lt : 小於
$lte : 小於等於
$in : 包含其中一個 注意 $in操做符的值必須爲數組類型
$all : 包含全部 值同上,必須爲數組類型
$nin : 不包含其中任意一個 值要求同上
$ne : 不等於
$not : 對已定義好的條件進行取反 {屬性:{$not:{條件}}}
$mod : 取模 (取餘) $mod:[x,y] 取全部除x餘y的值it
條件的 "且" 和 "或"
{條件一,條件二} 條件一 且 條件二
對於同一屬性的條件控制 語法可寫在一塊兒 例如: 取年齡大於18並且年齡小於50
{age:{$gt:18,$lt:50}}
{ $or : [ {條件一} , {條件二} ] } 條件一 或 條件二
"且" "或" 混用
{條件一 , $or:[{條件二},{條件三}]} 條件一 且 條件二 或 條件三
其餘操做
.limit(n) 取知足條件的頭n條數據
.skip(n) 跳過n條數據再取數據
.count() 對知足條件的數據進行計數
.sort({第一排序條件,第二排序條件,.....}) 按照屬性進行排序
.skip(m).limit(n) 跳過m條數據 再取頭n條數據 (調用順序沒有講究,可是做用效果均爲先跳過數據再取數據)
//==================== 修改 ====================
db.集合名.update(query,{修改器:{屬性:值}},option)
在默認狀況下 修改操做只會操做第一條符合條件的數據
option 爲可選參數, 爲對象類型 其下有兩個屬性
multi : 布爾值 是否修改全部符合條件的數據 默認false
upsert : 布爾值 當沒有符合條件的數據時 是否建立該數據 默認false
修改器
$set : 從新賦值
$inc : 對值進行疊加(值爲正)或遞減(值爲負) 適用於數字類型的值
$unset : 刪除整個屬性(包括屬性名及屬性值)
數組修改器
$push : 給數組類型的值添加一個新元素
$addToSet : 給數組類型的值添加一個新元素 (該方法不會重複添加已經存在的值,同時也不會影響原來已經存在的重複值)
$pop : 從尾部刪除一條數據 (值的大小不會對結果產生影響 永遠只會操做一條數據) (值爲正 從尾部刪除一條數據 值爲負 從頭部刪除一條數據)
$pull : 按條件刪除數組內元素 {$pull:{屬性:值}} 刪除指定值的元素
//==================== 刪除 ====================
db.集合名.remove(query,option)
默認狀況下 會刪除全部符合條件的數據
option 爲可選參數 爲對象類型 擁有屬性
justOne : 是否只刪除第一條符合條件的數據 默認false
db.users.insert([
{username:"馬雲",age:58,height:167,friends:["馬化騰","許家印","雷軍","李彥宏","柳傳志"]},
{username:"許家印",age:52,height:177,friends:["馬化騰","雷軍","柳傳志"]},
{username:"雷軍",age:48,height:174,friends:["馬化騰","董明珠","柳傳志"]},
{username:"雷德承",age:18,height:180,friends:["馬化騰","王健林","柳傳志"]},
{username:"王思聰",age:32,height:179,friends:["林更新","林緩存","陳赫","雷軍"]}
])
db.users.insert([
{username:"小明1",age:18},
{username:"小明2",age:18},
{username:"小明3",age:18},
{username:"小明4",age:18},
{username:"小明5",age:18}
])
{age:{$gt:18}}
{條件一,條件二} 條件一且條件二
{$or:[
{條件一},
{條件二}
]}
年齡小於35 而且身高高於170的人
條件一 且 條件二
{age:{$lt:35},height:{$gt:170}}
年齡小於35 或者 升高高於175的人
條件一 或者 條件二
{$or:[
{age:{$lt:35}},
{height:{$gt:175}}
]}
年齡大於30 並且 升高小於175 或者 認識許家印
條件一 並且 條件二 或 條件三
{條件一,$or : [{條件二},{條件三}]}
{age:{$gt:30},$or:[{height:{$lt:175}},{friends:{$in:["許家印"]}}]}
db.users.find({age:{$gt:30},$or:[{height:{$lt:175}},{friends:{$in:["許家印"]}}]},{_id:0})
每頁放y條數據 當前第x頁
db.users.find().limit(y).skip((x-1)*y)
第一排序條件 年齡 第二排序條件 身高