1. 程式人生 > >mongo shell 之 基礎操作

mongo shell 之 基礎操作

    mongo shell 是客戶端訪問mongodb 的一個工具, mongo shell 內建javascript 引擎, 可以在mongo shell 中進行js操作. 筆者使用的mongodb 是3.2.8, 作業系統為ubuntu 16.04LTS.

一 啟動mongo 服務和客戶端連線

    mongodb 啟動有很多引數可選,這裡使用最簡單的啟動方式,也不讓其在後臺執行,這樣可以方便地看到客戶段操作對應的日誌資訊,方便學習.

    1.1 啟動mongodb 服務指令碼

     

    1.2. 啟動mongodb 客戶段連線指令碼:

     

二 mongo shell 下的基礎操作:

    2.1 資料庫操作

        1. 查詢所有庫: show dbs

           

        2. 檢視當前所在資料庫資訊: db.stats()

           mongo shell 預設連線後會連線test 庫, mongo shell 中 db 代表當前資料庫, 可通過use 進行切換

          

        3 建立/切換資料庫:  use  [dbName]

           使用use [dbName] 命令時,併為真正建立了此資料庫,只是在資料緩衝池中建立了而已, 只有此資料庫有資料的時候才會真正建立此資料庫.

          

        4. 刪除資料庫:  db.dropDatabase()

          刪除資料庫時,首先應確保已切換到當前資料庫,否則會報錯

         

    2.2 集合操作

        1. 查詢所有集合: show collections

          

        2. 新增集合: 沒有新增的api, 在插入文件的時候,如果沒有集合會自動建立

        3. 刪除集合: db.[collection].drop()

                     

   2. 3. 文件操作:

        1. 插入文件: db.[collection].insert(文件)

           mongodb 插入文件的時候,如果不指定_id ,那麼會預設生成一個24個位元組的id 作為主鍵,同時為主鍵建立了索引

          

        2. 查詢文件: db.[collection].find(查詢器,欄位選擇器)

           mongoshell 中find 方法預設查詢所有文件的所有欄位,可增加篩選條件和要顯示的欄位列, 預設欄位顯示均為1

          

        3. 更新文件: db.[collection].update({查詢器},{更新器}, 儲存或更新,批量操作)

          mongo shell 中的更新方式功能還算是比較靈活的, 如果不適用更新器,那麼為覆蓋式更新

         

        4. 刪除文件: db.[collection].remove({查詢器})

            1. 刪除符合條件的所有資料

          

           2. 清空集合

          

   2.4. 幫助:

        1. 資料庫api 幫助:  db.help()

            示例:  db.help()

        2. 集合api 幫助: db.[collection].help()

            示例: db.students.help()

        3. 集合方法api 幫助: db.[collection].[method].help()

            示例: db.students.find().help()

三 mongo shell 中執行js

    mongo shell 其實就相當於是一個javascript 環境,只不過是內建了訪問mongodb 的api 而已