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
    评论
在使用Mongodb进行查询时,可以使用不同的语句来满足不同的需求。例如,要查询一个集合中dimlist字段下存在url字段的数据,可以使用以下语句: db.getCollection('user').find({'dimlist.url': {$exists: true}}) 这个语句的意思是查询'user'集合中dimlist字段下存在url字段的数据。 另外,如果你想要进行更复杂的查询,例如在两个集合之间进行联合查询,你可以使用聚合操作来实现。以下是一个示例查询语句: db.userInfo.aggregate([ { $lookup: { from: "userAddress", localField: "userId", foreignField: "userId", as: "address_detail" } }, { $match: { "userId": "xxxx" } } ]) 这个语句的作用是将userInfo集合中的userId字段与userAddress集合中的userId字段进行关联查询,并将结果存储在address_detail字段中。然后,通过$match操作符来筛选出userId为"xxxx"的数据。 以上是关于Mongodb查询语句的简要介绍,希望对你有所帮助。如果有任何问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Mongodb常用查询语句_笔记](https://blog.csdn.net/weixin_43785299/article/details/108130739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [MongoDB常用查询语句](https://blog.csdn.net/weixin_53571731/article/details/131667022)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值