设为首页 收藏本站
查看: 1223|回复: 0

[经验分享] mongoDB(上)

[复制链接]

尚未签到

发表于 2018-10-27 09:57:00 | 显示全部楼层 |阅读模式
  1.什么是NoSQL
  Not Only SQL,以key-value形式存储,json形式的key-value,分布式,开源的,水平可扩展。
  NoSQL->新浪微博:Redis
  Google:Bigtable
  Amazon:SimpleDB
  淘宝数据平台:Tair
  视觉中国网站:MongoDB
  优酷运营数据分析:MongoDB
  飞信空间:HandleSocket
  豆瓣社区:BeansDB
  2.MongoDB:介于关系型数据库和非关系型数据库之间的产品,面向集合的,文档型数据库。
  主要特性:自动支持云计算,面向集合,支持动态查询,支持完全索引,支持复制和故障恢复,使用高效的二进制数据存储,包括大型对象,自动处理碎片,支持云计算层次的扩展。,文件存储格式为BSON。(一种JSON的扩展)
  适用的场景:持久化的缓冲层,高效的实时性,用于对象及JSON数据的存储,
  不适用的场景:要求高度的事务性,复杂多表查询,传统的商业智能应用。
  3.MongDB的安装
  安装:Http://www.mongodb.org
  http://fastdl.mongodb.org/linux/mongodb-linux-1686-1.8.0.tgz
  解压压缩包上传到linux中,放到/usr/local/mongdb
  mv mongdb/usr/local/mongodb
  创建数据库文件夹和日志文件:安到/usr/local下
  创建一个data目录:mkdir data
  touch dblogs
  mkdir/usr/local/mongodb/data
  touch/usr/local/mongodb/dblogs
  日志文件
  将mongodb启动项目加入rc.local保证mongodb在服务器开机时启动
  4.
  启动(./mongod是启动程序):./mongod --dbpath /user/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork
  5.查看进程列表:
  pstree -p grep mongod
  vi /etc/rc.local
  /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/--logpath=/usr/local/mongdb/dblogs--fork'>>/etc/rc.local
  6.关闭mongdb :
  1.pkill mongod
  2.killall mongod
  ps -ef|grep mongod
  不用kill -9 2596,若用kill -9 则再用ps -ef |grep mongod
  起不来mongo了,此时删掉mongod的锁: cd data/
  rm -rf mongod.lock
  cd bin/
  ./mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs--fork
  !ps
  (启动命令常用参数选项说明:
  --dbpath:指定数据库目录
  --port:指定数据库的端口(27017)
  --bind_ip:绑定ip
  --directorypcrdb:为每个db创建一个独立子目录。
  --logpath:指定日志存放目录
  --logappend:指定日志的生成方式
  --keyFile:集群模式的关键标识
  --maxConns:最大并发连接数
  --journal:启用日志
  --pidfilepath:指定进程文件路径,若不指定,不产生进程文件
  --fork:以后台Daemon形式运行服务
  --keyFile集群模式的关键标示
  --notablescan不允许进行表扫描
  --noprealloc关闭数据文件的预分配功能
  mongod --help查询帮助)
  ./mongo:默认有一个空数据库local
  mongodb创建数据库和表:是隐式创建
  kill -2杀死进程(别用kill -9)
  7.MongoDB的插入insert
  show tables;
  system.indexes
  db.c1.find();
  db.c1.insert({name:"user2"});
  db.c1.find();
  db.c1.remove();
  db.c1.update({name:"user3"},{$set:{name:"user30"}});
  db.c1.find();
  db.c1.update({name:'user3'},{$set:{name:'user300'}});
  db.c1.update({name:'user30'},{$set:{sex:"nan"}});
  db.c1.find();
  db.user.update({"id":1},{"name":"nosql"});
  db.c1.insert({name:"user3",age:30});
  db.c1.remove();
  db.users.remove({"_id":1,"name":"nosql"}{"_id":ObjectId("4eb2a"),"age":24})
  定义一个函数:让它实现id自增
  function counter(name){
  var ret=db.counters.findAndModify({query:{_id:name},update:{$inc:{next:1}},"":true,upset:true});
  }
  db.users.insert({_id:counter("users"),name:"id2"});
  db.users.insert({_id:counter("users"),name:"id2"});
  8.增删改查:
  固定集合:Capped Collection
  GridFS(大文件上传下载,只有MongoDB出现)
  Mongodb是面向文档存储的数据库,文档结构形式叫BSON(类似JSON)
  1.(1)insert
  (2)save
  (区别若_ID相同则更新,而insert则插入失败)
  db.c1.find();
  db.c1.insert({_id:1,name:"user5"});
  db.c1.save({_id:1,name:"user6"});
  db.c1.remove();
  db.c1.insert({name:"user1",post:{tit:1,cnt:111}});
  db.c1.find();
  db.c1.insert({name:"user2",post:{1,2,3,4,5}});
  2.删除
  db.c1.remove({});
  db.c1.remove();
  上两条等同
  db.c1.insert({name:"user1"});
  db.c1.insert({name:"user2"});
  db.c1.insert({name:"user3"});
  db.c1.remove({name:"user1"});
  3.查询
  1).查询所有和带条件的
  db.c1.insert(name:"user1");
  for(i=1;i

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627013-1-1.html 上篇帖子: [MongoDB学习日志]Java对MongoDB的CRUD操作 下篇帖子: 【mongoDB】Java中使用条件操作符进行查询
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表