1. 程式人生 > >MongoDB的基本操作命令

MongoDB的基本操作命令

啟動MongoDB服務

MongoDB官網下載安裝,配置環境,在/bin同級目錄下建立目錄 /data/db,命令./bin/mongod即可啟動MongoDB服務(由於我沒有配置全域性環境變數,所以需要在後邊加上/data/db資料夾的全域性路徑)。


開啟新的視窗,執行mongo命令即可進入MongoDB的命令列模式。


基本操作命令

show dbs // 列出所有資料庫 。


use test // 建立及切換資料庫,此處直接建立test資料庫。


插入及查詢命令

db.user.insert({name:'lujing'}) // 沒有user表,則系統會預設建立;db.表名.insert()插入資料庫,insert()函式引數為JSON字串,可帶多個引數。


db.user.find() // 查詢資料庫,查詢引數為JSON字串,引數為空表示查詢所有。'_id' 欄位為Mongodb資料庫預設生成的全域性唯一的欄位;"_id"也可自己定義,但不能重複,不建議自己建立_id欄位。


show.collections() // 列出所有當前庫下的所有表。


db.user.count() // 統計表記錄數量。


更新命令

db.user.update({name:'lujing'},{age:18}) // 更新操作,update()函式至少接收兩個引數,第一個為更新條件,第二個引數為更新內容;但是看到更新之後發現age屬性更新成功,但是name屬性被覆蓋掉了,所以此處我們使用 $set更新操作符

,只會更新存操作符後邊的對應欄位,不存在的保持不變。



db.user.update({name:'lisi'},{age:99},true) // 當有 更新時不存在的則插入 的需求是,則可以將第三個引數設定為true。如下圖,在沒有設定第三個引數時試圖將{name='lisi'}的那條記錄的age屬性更新為99,但是沒有一條記錄收到影響;當新增第三個引數後,則Upsert成功。



db.user.update({name:'金剛狼'},{name:'鋼鐵俠'},false,true) // 試圖將{name=金剛狼}的記錄改為鋼鐵俠,但由於MongoDB自身安全機制的限制,只更新了其中的一條;這是需要用到第四個進行批量更新

。同樣也由於MongoDB的安全機制的限制,在批量更新是必須使用$set操作符才能更新成功。



刪除

db.user.remove() // remve操作不允許直接刪除一張表,‘ERROR:remove needs a query’,必須輸入刪除條件。

db.user.drop() //  可以直接刪除一張表


db.user.remove({name:'lisi'});  // 刪除{name:'lisi'}的記錄,不同於update操作,可直接刪除多條記錄



db.user.find().skip(2).limit(2).sort({age:1})  // 再來一個綜合查詢:skip(2)及查詢的結果集取消前兩個;limit(2)及只需要返回兩條記錄,skip()和limit()函式結合可用於分頁查詢;sort({age:1})代表age欄位正向排序


各位看官有問題可在下方評論區留言。