看過上一篇,相信你們都會知道如何開啓mongodb了,這篇就細說下其中的增刪查改,首先當咱們用上一篇一樣的方式打開mongodb,忽然javascript
傻眼了,擦,居然開啓不了,仔細觀察「劃線區域「的信息,發現db文件夾下有一個相似的」lock file」阻止了mongodb的開啓,接下來咱們要作的就java
是幹掉它,以後,開啓成功,關於mongodb的管理方式將在後續文章分享。正則表達式
一: Insert操做sql
上一篇也說過,文檔是採用「K-V」格式存儲的,若是你們對JSON比較熟悉的話,我相信學mongodb是手到擒來,咱們知道JSON裏面Valuemongodb
多是「字符串」,多是「數組」,又有多是內嵌的一個JSON對象,相同的方式也適合於BSON。shell
常見的插入操做也就兩種形式存在:「單條插入」和「批量插入」。數據庫
① 單條插入數組
先前也說了,mongo命令打開的是一個javascript shell。因此js的語法在這裏面都行得通,看起來是否是很牛X。 server
② 批量插入對象
這玩意跟「單條插入」的差別相信你們應該知道,因爲mongodb中沒有提供給shell的「批量插入方法」,不要緊,各個語言的driver都打通
了跟mongodb內部的批量插入方法,由於該方法是不可或缺的,若是你們非要模擬下批量插入的話,能夠本身寫了for循環,裏面就是insert。
二:Find操做
平常開發中,咱們玩查詢,玩的最多的也就是二類:
①: >, >=, <, <=, !=, =。
②:And,OR,In,NotIn
這些操做在mongodb裏面都封裝好了,下面就一一介紹:
<1>"$gt", "$gte", "$lt", "$lte", "$ne", "沒有特殊關鍵字",這些跟上面是一一對應的,舉幾個例子。
<2> "無關鍵字「, "$or", "$in","$nin" 一樣我也是舉幾個例子
<3> 在mongodb中還有一個特殊的匹配,那就是「正則表達式」,這玩意威力很強的。
<4> 有時查詢很複雜,很蛋疼,不過不要緊,mongodb給咱們祭出了大招,它就是$where,爲何這麼說,是由於$where中的value
就是咱們很是熟悉,很是熱愛的js來助咱們一馬平川。
三:Update操做
更新操做無非也就兩種,總體更新和局部更新,使用場合相信你們也清楚。
<1> 總體更新
不知道你們可還記得,我在上一篇使用update的時候,其實那種update是屬於總體更新。
<2> 局部更新
有時候咱們僅僅須要更新一個字段,而不是總體更新,那麼咱們該如何作呢?easy的問題,mongodb中已經給咱們提供了兩個
修改器: $inc 和 $set。
① $inc修改器
$inc也就是increase的縮寫,學過sql server 的同窗應該很熟悉,好比咱們作一個在線用戶狀態記錄,每次修改會在原有的基礎上
自增$inc指定的值,若是「文檔」中沒有此key,則會建立key,下面的例子一看就懂。
② $set修改器
啥也不說了,直接上代碼
<3> upsert操做
這個但是mongodb創造出來的「詞」,你們還記得update方法的第一次參數是「查詢條件」嗎?,那麼這個upsert操做就是說:若是我
沒有查到,我就在數據庫裏面新增一條,其實這樣也有好處,就是避免了我在數據庫裏面判斷是update仍是add操做,使用起來很簡單
將update的第三個參數設爲true便可。
<4> 批量更新
在mongodb中若是匹配多條,默認的狀況下只更新第一條,那麼若是咱們有需求必須批量更新,那麼在mongodb中實現也是很簡單
的,在update的第四個參數中設爲true便可。例子就不舉了。
四: Remove操做
這個操做在上一篇簡單的說過,這裏就不贅述了。