-
啓用服務:Mongod
須要創建data/db文件夾數據庫
-
連接服務:mongo
- 查看已有數據庫:show dbs
- 使用數據庫:use admin
- 顯示數據庫中的集合:show collections
- 查看數據庫版本:db.version()
- 輸出:console.log print(‘巴拉巴拉’)
-
操做命令
use user //進入(創建)一個數據庫 db //查看當前數據庫(user) db.info.insert({「name」: 「sunjia」}) //新建info集合,並插入文件 db.info.find() //查看info集合下的全部文件 db.info.findOne() //查詢user數據庫下info集合裏邊第一個文件 db.info.update({「name」:「sunjia」},{「name」:「jiajia」,「age」:「40」}) //修改文件
db.info.remove({「name」:「sunjia」}) //刪除info集合中的文件 db.info.drop() //刪除info集合 db.dropDatabase() //刪除user數據庫
-
批量插入文件(以數組的形式)
db.test.insert([ {"_id":1}, {"_id":2}, {"_id":3} ])
find如何在js文本中使用
var db = connect("company") //進行連接對應的集合collections var result = db.workmate.find() //聲明變量result,並把查詢結果賦值給result result.forEach(function(result){ printjson(result) })
find的參數使用方法
query:查詢條件,MongoDB默認的第一個參數。json
fields:返回內容,能夠用true和false控制是否顯示。數組
limit:返回的數量,後邊跟數字,控制每次查詢返回的結果數量。less
skip: 跳過多少個顯示,和limit結合能夠實現分頁。spa
sort:排序方式,正序1,倒序-1。rest
db.workmate.find( {}, {name: true, age: true, _id: false} ).limit(6).skip(2).sort({age:1})
find的數組查詢
$in:數組的或查詢
db.workmate.find( {interest:{$in:["看電影"]}}, //查詢interest數組裏邊包含‘看電影’的信息 {name:1,interest:1,age:1,_id:0} )
也能夠code
db.workmate.find(
{interest:'看電影'}, //{interest:['看電影']},去掉[],不然徹底匹配
{name:1,interest:1,age:1,_id:0}
)
db.workmate.find( {interest:{$in:["看電影","看書"]}}, //查詢interest數組裏邊包含‘看電影’ 或 ‘看書’ 的信息 {name:1,interest:1,age:1,_id:0} )
db.workmate.find( {interest:{$all:["看電影","看書"]}}, //查詢interest數組裏邊包含 ‘看電影’ 和 ‘看書’的信息 {name:1,interest:1,age:1,_id:0} )
$size:數組個數
db.workmate.find(
{interest:{$size:5}}, //查詢interest數組的數量是5個的信息
{name:1,interest:1,age:1,_id:0}
)
$slice:顯示數組中前/後幾個
db.workmate.find(
{},
{name:1,interest:{$slice:2},age:1,_id:0} //顯示interest數組的前2項
)
db.workmate.find(
{},
{name:1,interest:{$slice:-1},age:1,_id:0} //顯示interest數組的最後一項
)
find的多條件查詢
$in:一鍵多值
db.workmate.find(
{age:{$in:[25,33]}}, //查詢年齡是25或33的信息 {name:1,"skill.skillOne":1,age:1,_id:0} )
$nin:除了$in條件之外的值
$or:查詢多鍵值(或者)
db.workmate.find(
{$or:[{age:{$gte:30}},{"skill.skillThree":'PHP'}]},
{name:1,"skill.skillThree":1,age:1,_id:0}
)
$and:查詢多個鍵值(而且)
db.workmate.find(
{$and:[{age:{$gte:30}},{"skill.skillThree":'PHP'}]},
{name:1,"skill.skillThree":1,age:1,_id:0}
)
查詢:find
db.workmate.find( {"skill.skillOne":"HTML+CSS"}, //條件 {name:true,"skill.skillOne":true,_id:false} //結果 )
不等修飾符
$lt //less-than 小於 $lte //less-than-equal 小於等於 $gt //greater-than 大於 $gte //greater-than-equal 大於等於 $ne //not-equal 不等於
db.workmate.find( {age:{$lte:30,$gte:25}}, {name:true,age:true,"skill.skillOne":true,_id:false} )
db.runCommand()://返回執行結果
db.runCommand({ping:1})://查看是否和數據庫鏈接成功 對象
db.workmate.update({sex:1},{$set:{money:1000}},false,true) var resultMessage=db.runCommand({getLastError:1}) printjson(resultMessage); //false:upsert的簡寫 //true:multi的簡寫
//getLastError:1 :表示返回功能錯誤
findAndModify:
var myModify={ findAndModify:"workmate", query:{name:'JSPang'}, update:{$set:{age:18}}, new:true } var ResultMessage=db.runCommand(myModify); printjson(ResultMessage) //以json對象的格式輸出到控制檯
- query:須要查詢的條件/文檔
- sort: 進行排序
- remove:[boolean]是否刪除查找到的文檔,值填寫true,能夠刪除。
- new:[boolean]返回更新前的文檔仍是更新後的文檔。
- fields:須要返回的字段
- upsert:沒有這個值是否增長。
update修改器
$set(對已有文件:‘name:MinJie’,的鍵值進行操做:修改/增長)
db.workmate.update({"name":"MinJie"},{"$set":{sex:2,age:21}}) 修改嵌套數據 db.workmate.update({"name":"MinJie"},{"$set":{"skill.skillThree":'word'}})
$unset用於將key刪除
db.workmate.update({"name":"MinJie"},{$unset:{"age":''}})
$inc對數字進行計算(必須是數字,字符串不起效果)
db.workmate.update({"name":"MinJie"},{$inc:{"age":-2}})
multi選項(multiple,多選)
db.workmate.update({},{$set:{interset:[]}},{multi:true})
upsert選項(若是沒有文件,添加文件)
db.workmate.update({name:'xiaoWang'},{$set:{age:20}},{upsert:true})
update數組修改器
$push追加數組/內嵌文件({})數據
db.workmate.update({name:'xiaoWang'},{$push:{interest:'draw'}})
db.workmate.update({name:'MinJie'},{$push:{"skill.skillFour":'draw'}})
$addToSet 查找數組中數據是否存在,不存在直接push進去,存在不修改
db.workmate.update({name:"xiaoWang"},{$addToSet:{interest:"readBook"}})
$each 批量追加數組中的數據
var newInterset=["Sing","Dance","Code"]; db.workmate.update({name:"xiaoWang"},{$addToSet:{interest:{$each:newInterset}}})
$pop 刪除數組值(1:從末端刪除一個,-1:從開始刪除一個)
db.workmate.update({name:'xiaoWang'},{$pop:{interest:1}})
數組定位修改
db.workmate.update({name:'xiaoWang'},{$set:{"interest.2":"Code"}})