Mongodb 學習筆記(一)

   MongoDB 是一款開源、跨平臺、分佈式,具備大數據處理能力的文檔存儲數據庫。在 2007 年由 MongoDB 軟件公司開發完成,並實現所有代碼源發展。目 前,該文檔數據庫被國內外衆多知名網因所採納,用於提升數據訪問的處理速度 和大數據存儲問題。 sql

基本操做命令 :數據庫

  show dbs  :  顯示全部數據庫(空數據庫不會顯示)。分佈式

    use dbname  : 切換至  數據庫 dbname。大數據

       db.stats()    顯示 數據庫狀態blog

  db.dropdatabase()  刪除當前數據庫。索引

  db. getCollectionNames ()  查看當前數據庫下的全部集合的名稱ip

  show roles   查看當前數據庫的用戶角色權限及用戶名/密碼信息開發

 增刪改查:rem

  插入:文檔

  db.student.insert({"name":"Jason","age":20})    student 爲集合名稱,若是沒有該集合,會自動建立。

    db.student.insert([{"name":"dalie","age":30},{"name":"sun","sex":"male"}]) 插入多條記錄 。 同一個集合中的文檔,key 不用保持一致。

  document = {"name":"biao","age":12}

    db.student.insert(document);                 也能夠用聲明變量的方式  將文檔插入集合中

  db.student.insert([{"name":"wang","age":11},{"name":"goudan","age":1}],{ordered:true}) 順序插入  ordered爲true時,如存在主鍵衝突的數據,會致使所有插入失敗,false時,除出錯記錄外,其餘記錄正常插入。

       查詢:

  db.student.find()   列出該集合內全部文檔。

  db.student.find({"name":"Jason"})  括號內 能夠填寫 匹配條件  相似於 sql 中where

  db.student.fingOne()   db.student.findOne({"name":"Jason"})   列出集合內符合條件的第一條文檔

   db.student.find().pretty()  將結果 以優美的形式展現。

        db.student.find({},{name:1,age:1,_id:0}).pretty()    能夠設置要查詢的key ,1顯示,0不顯示。

  db.student.find().limit(2)  返回前兩條文檔

   db.student.find().skip(2) 跳過前兩條文檔,顯示 以後的全部文檔。

   db.student.find().skip(2).limit(1) 顯示第三條文檔。

   db.student.find({name:{$in:["Mike","Jason"]}})    $in 實現 範圍查詢。$in 用於不一樣文檔指定同一個 Key 進行或條件匹配, $or 能夠指定多個 Key 或條件匹配。

  db.student.find({$or:[{name:"Jason"},{age:12}]})

        

  更新:

   db.student.update({name:"Jason"},{$set:{age1:12}})  

   $set  更新要修改的字段  $unset 刪除該字段  $rename 更改字段名 $inc 修改數值作加法運算。

   db.collection.updateOne() 。與 update()惟一的 區別是命令語法裏少了 一個 multi: <boolean>選項, 也就是 updateOne()只適用於符合條件的一條文檔的修改任務。

   db.collection.updateMany() 。與 update()惟一的區別是命令語法裏少了 一個 multi: <boolean>選項, 也就是 updateMany()只適用於符合條件的多條文檔的修改任務。
   db.collection.replaceOne() 。與 update()的區別有兩處, 一個沒有 multi: <boolean> 選項;另一個在第二個參數 Cupdate 的<update>)裏不能有更新操做符。

  刪除

  db.student.remove("name":"Jason") 刪除姓名爲Jason的文檔。

   db.student.remove({}) 刪除集合內全部文檔,但若是要刪除整個集合 db.student.drop() 效率更高,它會直接刪掉集合及索引。

相關文章
相關標籤/搜索