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}}
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值