關(guān)于MongoDB 的學(xué)習(xí)筆記
1、配置:mongod --dbpath=D:MongoDBdata
mongo
2、基本的增刪查改
find() update()-- 整體更新,局部更新。
修改器: $inc db.person.update({"age":23},{$inc:{"salary":1000}})
第一個(gè)參數(shù)為條件。第二個(gè)參數(shù)為修改的值,但值必須為整數(shù)。($inc allowed for numbers only)
$set 修改器: db.person.update({"name":"gll"},{$set:{"age":25}}}
還有一種操作為修改或添加操作:這里可以叫OrUpdate操作。
只要將update的第三個(gè)參數(shù)設(shè)為true即可。如果沒(méi)有查到,就在數(shù)據(jù)庫(kù)里新增一條,避免數(shù)據(jù)庫(kù)里判斷是update還是add操作。使用簡(jiǎn)單。
批量更新:
如果匹配多條的話, 默認(rèn)的情況下只更新第一條。如果需要多條更新的話,在update的第四個(gè)參數(shù)中設(shè)為true即可。也很簡(jiǎn)單。
Remove 操作。
3、高級(jí)操作
聚合:
count() distinct() 選擇了哪個(gè)屬性,哪個(gè)就不能重復(fù)。
group() 參數(shù) key : 指定文檔分組的'依據(jù),所有的age鍵的值劃分到一組,true為返回鍵age的值。
initial: "initial":{"person":[]} 每一組reduce函數(shù)調(diào)用的初始個(gè)數(shù),第一組的所有成員都會(huì)使用這個(gè)累加器。
說(shuō)白了。這個(gè)就是個(gè)初始值。每次$reduce 都會(huì)調(diào)用這個(gè)值進(jìn)行值的改變。
例子:
db.person.group({. "key":{"age":true},. "initial":{"person":[]},. "$reduce":function(cur,prev){ 第一個(gè)參數(shù)為當(dāng)前文檔,第二個(gè)參數(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 的學(xué)習(xí)筆記】相關(guān)文章:
關(guān)于javascript學(xué)習(xí)筆記11-16
MongoDB的PHP驅(qū)動(dòng)方法與技巧大全11-22
關(guān)于數(shù)據(jù)類型的Javascript學(xué)習(xí)筆記11-13
關(guān)于jQuery學(xué)習(xí)筆記之jQuery的動(dòng)畫(huà)11-10
關(guān)于jQuery學(xué)習(xí)筆記之jQuery的分析11-10
關(guān)于JavaScript學(xué)習(xí)筆記之Cookie對(duì)象11-12
JAVA學(xué)習(xí)筆記08-29
Java學(xué)習(xí)筆記08-13