啟動MongoDB服務(wù)
MongoDB官網(wǎng)下載安裝,配置環(huán)境,在/bin同級目錄下創(chuàng)建目錄 /data/db,命令./bin/mongod即可啟動MongoDB服務(wù)(由于我沒有配置全局環(huán)境變量,所以需要在后邊加上/data/db文件夾的全局路徑)。

打開新的窗口,執(zhí)行mongo命令即可進(jìn)入MongoDB的命令行模式。

基本操作命令
show dbs // 列出所有數(shù)據(jù)庫 。

use test // 創(chuàng)建及切換數(shù)據(jù)庫,此處直接創(chuàng)建test數(shù)據(jù)庫。

插入及查詢命令
db.user.insert({name:'lujing'}) // 沒有user表,則系統(tǒng)會默認(rèn)創(chuàng)建;db.表名.insert()插入數(shù)據(jù)庫,insert()函數(shù)參數(shù)為JSON字符串,可帶多個參數(shù)。

db.user.find() // 查詢數(shù)據(jù)庫,查詢參數(shù)為JSON字符串,參數(shù)為空表示查詢所有。'_id' 字段為Mongodb數(shù)據(jù)庫默認(rèn)生成的全局唯一的字段;"_id"也可自己定義,但不能重復(fù),不建議自己創(chuàng)建_id字段。

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

db.user.count() // 統(tǒng)計表記錄數(shù)量。

更新命令
db.user.update({name:'lujing'},{age:18}) // 更新操作,update()函數(shù)至少接收兩個參數(shù),第一個為更新條件,第二個參數(shù)為更新內(nèi)容;但是看到更新之后發(fā)現(xiàn)age屬性更新成功,但是name屬性被覆蓋掉了,所以此處我們使用 $set更新操作符,只會更新存操作符后邊的對應(yīng)字段,不存在的保持不變。


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


db.user.update({name:'金剛狼'},{name:'鋼鐵俠'},false,true) // 試圖將{name=金剛狼}的記錄改為鋼鐵俠,但由于MongoDB自身安全機(jī)制的限制,只更新了其中的一條;這是需要用到第四個進(jìn)行批量更新。同樣也由于MongoDB的安全機(jī)制的限制,在批量更新是必須使用$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)及查詢的結(jié)果集取消前兩個;limit(2)及只需要返回兩條記錄,skip()和limit()函數(shù)結(jié)合可用于分頁查詢;sort({age:1})代表age字段正向排序

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