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

[经验分享] mongodb使用说明

[复制链接]

尚未签到

发表于 2015-7-8 09:59:59 | 显示全部楼层 |阅读模式
  
  原文:http://blog.iyunv.com/luoweifeng1989/article/details/6571965
  安装Mongo数据库:
  
  第一步:下载安装包:官方下载地址←单击此处,如果是win系统,注意是64位还是32位版本的,请选择正确的版本。
  第二步:新建目录“D:\MongoDB”,解压下载到的安装包,找到bin目录下面全部.exe文件,拷贝到刚创建的目录下。
  第三步:在“G:\MongoDb”目录下新建“data”文件夹,它将会作为数据存放的根文件夹。
  配置Mongo服务端:(WIN7)
  打开CMD窗口,按照如下方式输入命令:
  > d:
  > cd G:\MongoDb
  > mongod --dbpath G:\MongoDb\DBData
  
  1、在使用mongo数据库前,需要启动该数据库,我的数据库是在D:\html5work\mongodb-win32-i386-2.0.2-rc1\bin下,运行,CMD,cd到这个目录下,输入D:\html5work\mongodb-win32-i386-2.0.2-rc1\bin>mongod --dbpath D:\html5work\db,数据库即启动。(这个过程可做成一个服务)
  这边注意,mongod是服务端的命令,客户端的命令是mongo。
  2、再次运行CMD,cd到D:\html5work\mongodb-win32-i386-2.0.2-rc1\bin>目录下,现在准备在客户端使用数据库。
  3、一些命令
  /*数据库状态信息查询*/
  > db.serverStatus()
  输出参数为json格式有几个主要的类型:
   uptime: 服务器运行时间(秒)
   localTime: 服务器本地时间
   mem: 服务器内存信息
   connections: 当前连接数
   opcounters: 操作统计
  /*查看所有数据库:*/
  > show dbs
  /*切换数据库:*/
  >use locationDb
  switched to db locationDb
  >db.stats()
/*创建数据库*/
  MongoDB没有创建数据库的命令,可以使用use dbname进行切换,use可以切换到不存在的数据库,当有数据写入的时候就会创建数据库。
  >use mytestdb
创建Collection
  进入数据库建立coolection数据库才算建立完成。使用
  db.createCollection("mytestdb ", {capped:true, size:10000}) 单位是kb
  或者db.runCommand( {createCollection:" mytestdb ", capped:true, size:100000} )
  capped参数是建立固定大小的数据库文件,为了保证效率,mongo会在建立collection的时候占用磁盘空间,防止碎片。
  > db.createCollection("mytestdb ", {capped:true, size:10000})
  > show collections
  mytestdb
建立文档
  >db. mytestdb.insert({name:'xiaowanzi',age:8})
示例查询
  
  操作符
  SQL
  Mongo
  *
  Select * from mytestdb
  db.mytestdb.find()
  Column
  Select name,age from mytestdb
  db.mytestdb.find({},{name:1,age:1})
  Where *
  Select * from mytestdb where age=24
  db.mytestdb.find({age:24})
  Column where
  Select name,age from mytestdb where age=24
  db.mytestdb.find({age:24},{name:1,age:1})
  >> 20
  db.mytestdb.find({‘age’:{>:20}})
  Like
  Select * from mytestdb where name like ‘wang%’
  db.mytestdb.find({name:/^wangfan/})
  
  Select * from mytestdb where name like ‘%wang%’
  db.mytestdb.find({name:/wangfan/})
  Order
  SELECT * FROM mytestdb ORDER BY name DESC
  db.mytestdb.find().sort({name:-1})

  > db.mytestdb.find()
  { "_id" : ObjectId("4e093ff90edf95f31cbc7c29"), "name" : "xiaowanzi", "age" : 8 }
创建索引
  使用ensureIndex来创建索引
  db. mytestdb.ensureIndex({name:1})
  db.runCommand({dropIndexes:'foo', index : '*'})
  这里的1是正序,-1是倒序
  删除索引
  db.collection.dropIndexes();删除所有的索引
  db. mytestdb.dropIndexes({name:1});
  db.runCommand({dropIndexes:'wfcoll', index : {name:1}})
  我们在name字段做一个索引,在age上做个负索引,如下:
  >db.mytestdb.ensureIndex({name:1})
  >db.mytestdb.ensureIndex({age:-1})
  
  
  
  
  

运维网声明 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-84400-1-1.html 上篇帖子: Mongodb和Hbase的对比 下篇帖子: 【转】视觉中国的NoSQL之路:从MySQL到MongoDB
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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