mongodb語句筆記

插入記錄:
db.books.insert(book);

查詢記錄:
db.books.find({},{title:1});
參數:查詢條件、希望返回的字段(其中1,0表示ture,false)
db.books.find({},{title:1, _id:0});//不顯示id的字段

示例:
     1.查詢全局:
     db.books.find()
     2.條件查詢:
     db.books.find({author:”Alan”});

更新對象:
db.books.update({},{$set:{“keywords”:[]}},false,true);
參數:搜索條件、更新對象、upsert更新插入(存在更新,不存在插入)、多重更新(更新多個對象)

追加內容更新:
db.books.update({author: “Alan"},{$push:{“keywords”:”developer"}});
在搜索的對象的keywords中拼接一個新的字符串

診斷:
db.books.find().explain();
對於頻繁使用的查詢,贏避免使用BasicCursor,通過添加索引使用BtreeCursor。

添加索引:
db.books.ensureIndex({author:1});

分組查詢統計:
map & reduce
map = function(){
     emit(this.author, 1);
}

reduce = function(key, values){
     var total = 0;
     values.forEach(function(value){
          total += value;
     })
}

db.books.mapReduce(map, reduce, {out: ”bookoutput"});

查詢更新:
查詢的同時執行更新,添加版本號機制,防止併發修改
db.books.findAndModify({
     query:{“_id”:123, version:1},
     update:{$set: {version:2}}
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章