0


记录我爬虫持久化到mongo中的文档在navicat中常用的一些操作语句

1.不指定条件查询语句(data为集合名字)

  • 默认查询所有文档
  • db.getCollection("data").find()

在这里插入图片描述

2.指定返回文档数目

  • 默认查询并返回两条文档
  • db.getCollection("data").find().limit(2)

在这里插入图片描述

  • 其中limit(2)表示返回两条文档

3.查看集合中文档总数

  • db.getCollection("data").count()

在这里插入图片描述

4.查询companyName为“北京京运通科技股份有限公司”的所有文档

db.getCollection("data").find({'companyName':'北京京运通科技股份有限公司'})

在这里插入图片描述

5.查询companyName为“北京京通科技股份有限公司”,并指定返回“companyProfile”和“sfcIndustry”字段的文档。

  • db.getCollection("data").find({'companyName':'北京京运通科技股份有限公司'},{'companyProfile':1,'sfcIndustry':1})

在这里插入图片描述

  • 注意:id字段默认是返回的,如不需要返回__id可以加上" id":0
  • db.getCollection("data").find({'companyName':'北京京运通科技股份有限公司'},{'companyProfile':1,'sfcIndustry':1,"_id":0})

在这里插入图片描述

6.与查询

  • 查询”companyName“字段值为”北京京运通科技股份有限公司“和”sfcIndustry“字段值为”制造业-专用设备制造业“的所有文档。
  • db.getCollection("data").find({'companyName':'北京京运通科技股份有限公司','sfcIndustry':'制造业-专用设备制造业'})

在这里插入图片描述

  • 其他更多同时满足条件以此类推。

7.或查询

  • 查询”companyName“值为”北京京运通科技股份有限公司“或”sfcIndustry“值为”制造业-专用设备制造业“的所有文档。
  • db.getCollection("data").find( { $or : [ { 'companyName' : '北京京运通科技股份有限公司' }, { 'sfcIndustry' : "制造业-专用设备制造业" } ] } )

在这里插入图片描述

  • 同理,其他更多或条件,直接在列表中添加即可。

8.与或复合查询

  • 查询data集合下”sfcIndustry“值为”制造业-专用设备制造业“,并且满足”companyName“值为”北京京运通科技股份有限公司“或者”北京市春立正达医疗器械股份有限公司“的所有文档。
  • db.getCollection("data").find({'sfcIndustry':'制造业-专用设备制造业',$or : [ { 'companyName' : '北京京运通科技股份有限公司' }, { 'companyName' : '北京市春立正达医疗器械股份有限公司' } ]})

在这里插入图片描述

9.distinct去重

  • 根据字段名为”companyName“去重
  • db.getCollection("data").distinct("companyName")​

在这里插入图片描述

10 简单正则使用

  • 查询字段”dateOfEstablishment“以”2002“开头的所有文档
  • db.getCollection("data").find({'dateOfEstablishment':{"$regex":"^2002"}})

在这里插入图片描述

11.查看所有字段名

  • db.getCollection('data').aggregate([ {"$project":{"arrayofkeyvalue":{"$objectToArray":"$$ROOT"}}}, {"$unwind":"$arrayofkeyvalue"}, {"$group":{"_id":null,"allkeys":{"$addToSet":"$arrayofkeyvalue.k"}}}])

在这里插入图片描述

12.分组求和

  • 根据字段名为”sfcIndustry“来统计数量
  • db.getCollection('data').aggregate([{"$group": {_id: "$sfcIndustry", count: {$sum: 1}}}, {"$sort": {"count": -1}}], {allowDiskUse: true})

在这里插入图片描述

13.简单通过update来新增一列文档

  • 给集合所有文档增加一个字段”statu“并且值为0

  • db.getCollection("data").update({}, {$set: {'statu':0}}, {multi: true})

在这里插入图片描述

14.删除指定字段名

  • 删除刚刚新增的“statu”字段
  • db.getCollection("data").update({ "statu": { "$exists": true }}, { "$unset": { "statu":null }}, { multi: true});

在这里插入图片描述

15.修改字段名

  • 将集合中的”sfcIndustry“字段名更改为”行业“
  • db.getCollection("data").updateMany({}, {$rename:{"sfcIndustry":"行业"}}, false, true)

在这里插入图片描述

16.删除指定文档

  • 删除“行业”为"制造业-专用设备制造业"的文档。
  • db.getCollection("data").remove({'行业':"制造业-专用设备制造业"})

在这里插入图片描述

以上均为学习分享,可能存在不足或者还有其他更优雅的语法,欢迎评论区留言交流!

标签: 数据库 mongodb

本文转载自: https://blog.csdn.net/weixin_47831992/article/details/127319116
版权归原作者 小小鸟~ 所有, 如有侵权,请联系我们删除。

“记录我爬虫持久化到mongo中的文档在navicat中常用的一些操作语句”的评论:

还没有评论