当前位置: 首页 > news >正文

桂林网站设计制作成都公司网页制作电话

桂林网站设计制作,成都公司网页制作电话,山西省建设局网站,网站排名套餐前言:接下来要介绍的这个数据库MongoDB,使用的人员远没有前面两个数据库使用的频率高,所以这里就简单介绍一下他的用法,有兴趣的朋友可以在官网上面搜索其使用文档进行详细的学习。1 MongoDB简介一般爬虫使用的数据库,…

前言:接下来要介绍的这个数据库MongoDB,使用的人员远没有前面两个数据库使用的频率高,所以这里就简单介绍一下他的用法,有兴趣的朋友可以在官网上面搜索其使用文档进行详细的学习。

1 MongoDB简介

一般爬虫使用的数据库,是根据项目来定的。如需求方指定了使用什么数据库、如果没指定,那么决定权就在爬虫程序员手里,如果自选的话,mysal 和mongodb 用的都是比较多的。但不同的数据库品种有各自的优缺点,不同的场景任何一种数据库都可以用来存储,但是某种可能会更好。比如如果抓取的数据之间的耦合性很高,关系比较复杂的话,那么mysal可能会是更好的选择。如果抓取的数据是分版块的,并且它们之间没有相似性或关联性不强,那么可能mongodb 会更好。mongoDB的生态、理念非常先进而且成熟、但是mongoDB不仅有开源版本,还有企业版本。所以有部分公司比较担心,哪天无法使用mongoDB了,所以也会产生一些替代产品。

2 查看文档

(1)比较运算
# SQL:≡,!≡,>,<,>=,<=
# MongoDB:(key:va1ue}代表什么等于什么,"$ne","$gt","$1t","gte","1te”,其中"$ne"能用于所有数据类型
#1、select *from db.user where name ="张三";db.user.find({'name':'张三'})
#2、select *from db.user where name !"alex";db.user.find({'name':{"$ne":'张二'r) )
#3、select*from db.user where age>30;db.user.find({'age':{'$gt':30}})(2)逻辑运算
# SOL:and,or,not
# MongoDB:字典中运号分隔的多个条件是and关系,"$or"的条件放到[]内,"$not"
db.user.find({'age':{"$gte":20,"$lt":33}})
db.user.find({"addr.city":"青岛","age":{"$gt":30}})
db.user.find({"$or":[{"addr.city":"青岛"},{"age":{"$gt":30}}]
})
#4、select *from dbl.user where id号 2=l;db.user.find({'age':{"$mod":[2,1]}})
#5、上题,取反
db.user.find( {'age':{"$not":{"$mod":[2,1]}}})(3)成员运算
# SQL:in,not in
# MongoDB:"$in","$nin"
db.user.find({"age":{"$in":[20,30,40南})
db.user.find({"name":{"$nin":['张三','']}})(4)正则匹配
# SQL:regexp 正则
# MongoDB:/正则表达/i
db.user.find({'name':/^张,*/i})(5)取指定字段
db.user.find({'name':/^张,*/i},{' id':0,'name':l,'age':l})(6)查询数组
#查看有dancing爱好的人
db.user.find({'hobbies':'dancing'})
# 查看既有dancing爱好又有tea爱好的人
db.user.find({"hobbies":{"$all":['music','dancing']}
})(7)排序
#排序:--1代表升序,-1代表降序
db.user.find().sort({"name":l,})
db.user.find().sort({"age":-1,' id':1})
(8)分页
#分页:--limit代表取多少个document,skip代表跳过前多少个document
db.user.find().limit(1).skip(2)
(9)查询数量
# 获取数量
db.user icount({'age':{"$gt":30}})
--或者
db.user.find({'age':{"$gt":30}}).count()
(10)其它
# 查找所有
db.user.find()#等同于db.user.find({})
db.user.find().pretty()
#3、查找一个,与fina用法一致,只是只取匹配成功的第一个
db.user.findone({" id":{"$gt":3}})

3 更新文档

  • update:update的对象和一些更新的操作符(如$,$inc...等,相当于set后面的
  • upsert:可选,默认为false,代表如果不存在update的记录不更新也不插入,设置为true代表插入
  • multi:可选,默认为false,代表只更新找到的第一条记录,设为true,代表更新找到的全部记录。
  • writeConcern :可选,抛出异常的级别。

更新操作是不可分割的:若两个更新同时发送,先到达服务器的先执行,然后执行另外一个,不会破坏文档。

(1)覆盖更新
#注意:除非是删除,否则 id是始终不会变的
#1 :
db.user.update({'age':20},{"name" :"xxx"})是用{" id":2,“name":"xxx"}覆盖原来的记录
#2、一种最简单的更新就是用一个新的文档完全替换匹配的文档。这适用于大规模式迁移的情况。例如
var obj=db.user.findone({"namè":"张三"})
obj.name=obj.name+'先生
obj.age++
delete obj.hobbies
db.user.update({"nmae":"张三"},obj)(2)局部更新
#设置:$set
通常文档只会有一部分需要更新。可以使用原子性的更新修改器,指定对文档中的某些字段进行更新。更新修改器是种特殊的键,用来指定复杂的更新操作,比如修改、增加后者删除
db.user .update( {'name' : "xxx"},{"$set": {"name" :"apple",}} )
# 没有匹配成功则新增一条{"upsert":true}
db.user.update( {'name' :"eric"},{"$set":("name" :"eirc","age":18}},{"upsert":true))
# 默认只改匹配成功的第一条,{"multi":改多条}
db.user.update({'age':{"$gt":20}},{"$set":{"age":18}})db.user.update({'age':{"$gt":20}},{"$set":{"age":18}},{"multi":true) )
#把名字为alex的人的地2个爱好改成piao
db.user.update( {'name':"朱七"},{"$set": ("hobbies.1":"swimming" }})
#6、删除alex的爱好,Sunset
db.user.update({'name':"朱七"},{"$unset":{"hobbies" :""}})(3)自增或自减
#增加和减少:$inc
#1、所有人年龄增加一岁
db.user.update({},
{"sinc":{"age":1}
},
{"multi":true 
}
)#2、所有人年龄减少5岁
db.user.update({},
{"$inc":{"age":-5}
},
{"multi":true
}
)(4)添加删除数组内元素
#添加删除数组内元素:$push,$pop,$pu11
往数组内添加元素:push
# 为名字为朱七添加一个爱好pingpong
db.user.update( {"name":"yuanhao"},{"$push": {"hobbies":"pingpong"}} )
# 按照条件删除元素,:"$pu11”把符合条件的统统删掉,而$pop只能从两端删
db.user.update({'addr.country':"china"},{"$pull":{"hobbies":"read"}}
{"multi":true
})(5)避免重复添加
#避免添加重复:"$addToset"
db.urls.insert({" id":1,"urls":[ ]} )
db.urls.update( {" id":1},{"$addToSet": {"urls" :'http://www.baidu.com'}} )
db.urls .update( {" id" :1},{"$addToSet": {"urls" :'http://www.baidu.com'}} )
db.urls.update({" id":1},{"$addToset": {"urls":'http://www.baidu.com'}})
db.urls.update({" id":1},{"$addToSet":{"urls":{"seach":['http://www.baidu.com','http://www.baidu.com',"http://www.xxxx.com"]}}})

4 删除文档

删除文档
#1、删除多个中的第一个
db.user.deleteone({'age':8})
#2、删除国家为china的全部
db.user.deleteMany({'addr.country':'china'})
#3、删除全部
db.user.deleteMany({})
http://www.dtcms.com/a/608973.html

相关文章:

  • 沈阳健网站科技服务公司网站模版
  • 网站设计站点管理wordpress中文cms
  • 上海营销型网站报价wordpress 智能合约
  • 北京企业网站模板建站怎么用wordpress相关文插件
  • 中国建筑土木建设有限公司网站哪里建设网站
  • 公司网站一定要备案吗后台做网站的题
  • 网站规划的基本步骤wordpress主题免费共享
  • 珠海快速网站建设谁给个能用的网址
  • iis7如何设置ip做网站泸县建设局网站
  • 公众号自己做电影网站南通网站建设方案外包
  • 韶关住房和城乡建设网站济南的网站建设
  • 企业网站模板带后台北京天润建设工程有限公司网站
  • 新加坡建设网站食品公司网站模板
  • 网站管理 地址:学生做网站的工作室
  • 优化网站制作方法大全微信怎么关闭小程序消息
  • 国内优秀网站设计欣赏百度官方网站首页
  • 深圳网站设计公司 学校舆情分析报告
  • 教育行业网站建设网站建设 维护费用
  • 金坛做网站的广东自助建站网站
  • google英文网站深圳制作网站建设的企业
  • vue做的手机网站辽宁建设工程信息网业绩录入
  • 如何做好一个企业网站邢台论坛
  • 网站开发的图标鄂应用官方app下载
  • 自己如何做家政网站成立一间网站开发公司
  • 深圳发布稳增长措施上海优化网站方法
  • 建设网站的企业费用360网页游戏大厅
  • 设计网站推荐ps阿里云网站建设9元
  • 教育学校网站源码 php十堰秦楚网 十堰新闻门户网站
  • 教学网站开发代码网站登录人太多进不去怎么办
  • 深圳市手机网站建设品牌免费域名注册解析