mongodb

  • 啓用服務: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"}})
相關文章
相關標籤/搜索