MongoDB 學(xué)習(xí)筆記
1、配置:mongod --dbpath=D:\MongoDB\data
mongo
2、基本的增刪查改
find() update()-- 整體更新,局部更新。
修改器: $inc db.person.update({"age":23},{$inc:{"salary":1000}})
第一個參數(shù)為條件。第二個參數(shù)為修改的值,但值必須為整數(shù)。($inc allowed for numbers only)
$set 修改器: db.person.update({"name":"gll"},{$set:{"age":25}}}
還有一種操作為修改或添加操作:這里可以叫insertOrUpdate操作。
只要將update的第三個參數(shù)設(shè)為true即可。如果沒有查到,就在數(shù)據(jù)庫里新增一條,避免數(shù)據(jù)庫里判斷是update還是add操作。使用簡單。
批量更新:
如果匹配多條的話, 默認(rèn)的情況下只更新第一條。如果需要多條更新的話,在update的第四個參數(shù)中設(shè)為true即可。也很簡單。
Remove 操作。
3、高級操作
聚合:
count() distinct() 選擇了哪個屬性,哪個就不能重復(fù)。
group() 參數(shù) key : 指定文檔分組的依據(jù),所有的age鍵的值劃分到一組,true為返回鍵age的值。
initial: "initial":{"person":[]} 每一組reduce函數(shù)調(diào)用的初始個數(shù),第一組的所有成員都會使用這個累加器。
說白了。這個就是個初始值。每次$reduce 都會調(diào)用這個值進(jìn)行值的改變。
例子:
db.person.group({ . "key":{"age":true}, . "initial":{"person":[]}, . "$reduce":function(cur,prev){ 第一個參數(shù)為當(dāng)前文檔,第二個參數(shù)為累加器文檔 . prev.person.push(cur.name); . } . }) eg : db.person.group({ "key": { "age": true }, "initial": { "person": [ ] }, "$reduce": function(doc,out){ out.person.push(doc.name); }, "finalize": function(out){ out.count=out.person.length; }, "condition": { "age": { $lt: 25 } }
相關(guān)文章
MongoDB系列教程(四):設(shè)置用戶訪問權(quán)限
這篇文章主要介紹了MongoDB系列教程(四):設(shè)置用戶訪問權(quán)限,本文講解了在Windows環(huán)境下如何創(chuàng)建用戶認(rèn)證,需要的朋友可以參考下2015-05-05MongoDB快速入門筆記(三)之MongoDB插入文檔操作
這篇文章主要介紹了MongoDB快速入門筆記(三)之MongoDB插入文檔操作 的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-06-06mongodb root用戶創(chuàng)建數(shù)據(jù)庫提示not master的解決
這篇文章主要介紹了mongodb root用戶創(chuàng)建數(shù)據(jù)庫提示not master的解決方案,具有很好的參考價值,希望對大家有所幫助。2023-02-02Robo可視化mongoDb實(shí)現(xiàn)操作解析
這篇文章主要介紹了Robo可視化mongoDb實(shí)現(xiàn)操作解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-12-12MongoDB數(shù)據(jù)庫類replace替換字符串指定內(nèi)容
mongoDB是沒有定義replace函數(shù)的,那么如果有需求需要替換nongo中數(shù)據(jù)的某一部分,怎么辦?下面這篇文章主要給大家介紹了關(guān)于MongoDB數(shù)據(jù)庫類replace替換字符串指定內(nèi)容的相關(guān)資料,需要的朋友可以參考下2023-05-05