mongodb

1、mongodb 批量插入是有限制的,最大不超過16M
2、插入doc的時(shí)候,會(huì)先轉(zhuǎn)化為BSON,不能超過4M
3、數(shù)據(jù)庫和集合都不需要自己建,會(huì)自動(dòng)建。刪除數(shù)據(jù)庫用dropDatabase(),刪除集合用drop(),刪除文檔用remo()
4、更新操作是原子操作,使用update來更新,有兩種更新的方式,第一種是替換整個(gè)文檔,先把需要的文檔查出來,然后在更改,最后用更改后的文檔替換掉原來的文檔,這種通常用在文檔結(jié)構(gòu)發(fā)生很大變化的時(shí)候。如果文檔中只是一部分?jǐn)?shù)據(jù)變化,使用更新器。$set 用來設(shè)置一個(gè)doc中一個(gè)字段的值,如果沒有這個(gè)字段添加,如果有更新,如果將一個(gè)key刪除使用$unset來做。$inc 加法器用來給一個(gè)字段加上一個(gè)數(shù)字,所以必須是數(shù)字類型的才可以使用。
5、修改數(shù)組比較復(fù)雜,$push 用來向一個(gè)數(shù)組中增加一個(gè)元素,如果這個(gè)key不存在新增這個(gè)數(shù)組,$pop用來刪除數(shù)組的頭或者尾,$pull用來刪除數(shù)據(jù)中的某個(gè)元素。修改數(shù)組某個(gè)下標(biāo)位置的數(shù)據(jù),可以用 list.0.xxx的形式。還可以使用$的方式來定位當(dāng)前已經(jīng)匹配的文檔,如果多個(gè)文檔都匹配,只有第一個(gè)文檔的數(shù)據(jù)被更新
6、修改嵌套文檔會(huì)用到.語法,這個(gè)時(shí)候需要將key用引號(hào)
7、update操作,如果沒有通過條件沒有找到對(duì)應(yīng)的doc,就不會(huì)有更新,但是如果開啟了upsert選項(xiàng),就會(huì)按照篩選條件和更新條件來新建一個(gè)doc,如果存在則更新,并且這個(gè)過程都是原子操作。
8、更新多個(gè)文檔,默認(rèn)情況下,只會(huì)對(duì)匹配的第一個(gè)文檔進(jìn)行操作。如果想使得所有的文檔都得到更新,要開啟update的第4個(gè)參數(shù)為true
9、插入、更新、刪除都是瞬間完成的,因?yàn)榭蛻舳税l(fā)出請(qǐng)求后不會(huì)等待服務(wù)端完成后,這往往都是不安全的操作,即使服務(wù)端沒有成功也不會(huì)收到報(bào)錯(cuò)消息,不能進(jìn)行異常捕獲。但是這些操作都有對(duì)應(yīng)的安全版本
10、請(qǐng)求和連接,mongodb會(huì)為每個(gè)數(shù)據(jù)庫連接創(chuàng)建一個(gè)隊(duì)列,在同一個(gè)數(shù)據(jù)庫連接中插入數(shù)據(jù)后總是可以查到的,但是在一個(gè)連接中插入數(shù)據(jù),另外一個(gè)連接中去查詢有可能查詢不到數(shù)據(jù),java等mongodb的驅(qū)動(dòng)都是采用了連接池,這樣就存在多個(gè)數(shù)據(jù)庫的連接,好在他們提供了一種機(jī)制來保證一系列的請(qǐng)求都由一個(gè)連接來處理??不知道真的還是假的,還會(huì)存在這種并發(fā)的問題嗎?
11、update(查詢條件,更新操作,不存在則添加,更新全部文檔)
12、find(查詢條件,返回的key)
13、查詢條件:$gt $lt $gte $lte $ne $in $or $nin ,$mod 取模運(yùn)算
14、$not 是元條件句,可以用在任何條件句之上
15、null不僅可以匹配自身,也可以匹配不存在這個(gè)鍵的文檔
16、$exists可以判斷這個(gè)鍵是否存在
17、沒有$eq操作符
18、還可以使用正則表達(dá)式來查詢
19、數(shù)組查詢,可以認(rèn)為數(shù)組的每一個(gè)元素都是這個(gè)key的值,$all:[1,2] ,表示同時(shí)包含1和2的,順序不限 ,$size數(shù)組的大小
20、$where 可以寫一個(gè)js函數(shù)來做過濾,不到萬不得已不要用,因?yàn)橐葿SON轉(zhuǎn)化成JS對(duì)象,并且不能用索引,速度比較慢

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容