mongodb学习笔记

引言   

      这篇mongodb的笔记,其中包括mongodb的介绍、安装、Windows下的一些命令方法,以及和java整合的一案例demo有兴趣的可以学习交流一下。

mongodb简介

      mongodb是一个非关系型数据库,存储量大是PB级别(1024T = 1PB),在建立所有的情况下查询速度较快,适用于现在的互联网项目开发。    

    首先附上mongodb的安装包下载地址其中包括windows和linux的两个安装包:https://pan.baidu.com/s/1aZpgDIXCAG-voMZY9uMMSw,

 安装步骤

      以Windows为例,直接解压Windows版本,在你的盘目录在创建一个叫mongo的文件夹,在这个文件夹里面建立一个叫db的文件夹,用来存放安装程序,在建立一个log的txt用来存放日志,

开始安装,找到cmd用管理员的身份启动,切换到你的mongodb的安装目录,即bin目录找到,mongod.exe(安装程序)

输入命令:mongod.exe  --dbpath=d:/mongo/db/  --logpath=d:/mongo/log.txt   --install出现 all output going ......表示安装成功,

    此时去你的电脑的服务下面能找到一个mongodb的服务开启一下,然后回到的你cmd下面,在bin目录下面执行mongo.exe,此时出现你的mongodb的version的版本应该是2.0.3此时安装完成。

     如果安装失败要重新安装,首先要把电脑服务下在mongodb服务关掉然后在去cmd中输入卸载命令:

mongod.exe  --dbpath=d:/mongo/db/  --logpath=d:/mongo/log.txt   --remove   在输入安装命令进行重新安装。

使用mongodb

1)创建一个数据库  命令use modelmongodb   (mongodb不同于关系型数据库的是,他没有表结构,他采用是集合collection存储,存储的是bson的数据,(类json的数据))

2)插入数据三种数据格式   

插入普通数据命令 ① db.goods.insert({name:'xiaomi',price:2000,number:'50'})

插入具有对象数据命令 ② db.goods.insert({name:'xiaomi',price:2000,number:'50',

area:{province:'jiangsu',city:'nanjing'}})

插入数组数据命令 ③

db.goods.insert({name:'xiaomi',price:2000,number:'50',

area:{province:'jiangsu',city:'nanjing'},color:['black','red','greed']})

 (插入事注意语法,用({})包起来,int类型赋值不要加引号,字符串赋值要加引号,单引号和双引号都可以,推荐使用单引号,因为双引号在一些编辑器中转义会有一些问题)

3)查询数据

①查询所有数据 命令:db.goods.find()

①查询单挑数据数据 命令:db.goods.findOne()  ---这个方法是返回你查询数据中多条的第一条

③条件查询命令  

1)单条件查询  db.goods.find({nme:xiaomi})或者db.goods.findOne({nme:xiaomi}),                     

2)多条件查询 db.goods.find({nme:xiaomi,price:2000})或者db.goods.findOne({nme:xiaomi,price:200}),(条件可以传多个根据自己的实际需求)

3)条件查询的$gt--大于,$lt--小于,$gte--大于等于,$lte--小于等于

案例:查询价格大于2000的手机

上命令:db.goods.find({price:{'$gt',2000}}),其他命令根据需求模仿编写

4)$or或者条件的使用,满足一个条件即可

上命令:db.goods.find({'$or':[{name:xiaomi},{price:2000}]})

5)以上查询都是查询整体数据的全部字段,

①如果只想查询某些字段用1或0修饰,1:表示输出,0表示不输出

//这里我只想查出小米手机名称和价格          上命令:db.goods.find({name:1,price:1})

②或者不想查询某些字段

//只想看见手机的其他信息,但是不想看见手机的数量     上命令:db.goods.find({number:0})

注意:

    ①要么命令中保存要么输出,要么不输出,不允许出现,即输出某些值,又不输出某些值,会报错,

    ② 但是这里有一个特例:在查询的时候会自动给我添加一个_id字段,这个主键id,可以和其他输出字段一起使用,当对其他字段进行查询操作时,_id可以设置成1或0,这样不会有影响,不会报错。

4)修改数据     update

1) //如果使用了$set,那么修改的是将会是属性的值----这里是将name的xiaomi修改成xiaomimax

    话不多说上命令:db.goods.update({name:xiaomi},{'$set':{nama:xiaomimax}})

2)//如果没有使用$set,那么在修改这个属性的时候,其他的属性和值将会被删除,_id除外

    这里是将xiaomi修改成xiaomimax的同时将其他字段都删除了

    话不多说上命令:db.goods.update({name:xiaomi},{nama:xiaomimax})

3)//如果修改的是字段存在则修改,不存在的话会添加新的字段

     话不多说上命令:db.goods.update({name:xiaomimax},{nama:xiaomimin,size:5.5})

5 删除字段

1)删除整体数据

命令:db.goods.remove({name:xiaomi})

2 )删除某条数据的某个字段

命令:db.goods.remove({name:xiaomi},{'$unset':{name:1}})

或者db.goods.remove({name:xiaomi},{'$unset':{name:0}})

注意:这里的0和1没区别,有待考证,

其他命令

1)创建一个数据库 : use datename,   显示所有的数据库:show dbs,

      删除一个数据库,要先切换到该数据库下 执行:db.dropDatebase()

2)创建一个集合: db.createCollection('monCollection',options)   options是一些参数的配合,可以选择默认不加,具体有

db.createCollection("mycol", {
    capped : true, autoIndexId : true, size : 
   6142800, max : 10000 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大家这么喜欢,我就不要资源分了,改成0分了,我为我一己私利感到抱歉…… MongoDB学习手册 ......................................................................................................................... 1 说明.......................................................................................................................................... 2 一、 Mongodb简介 .......................................................................................................... 4 二、 MongoDB特性 ......................................................................................................... 5 适用场景: ....................................................................................................................... 5 不适用场景: ................................................................................................................... 6 三、 MongoDB的工作方式.............................................................................................. 6 四、 MongoDB的下载 ..................................................................................................... 8 五、 MongoDB的安装 ..................................................................................................... 9 六、 MongoDB数据类型................................................................................................ 12 1. Timestamp类型 ...................................................................................................... 12 2. ObjectId类型 .......................................................................................................... 12 3. 数据库关联 ............................................................................................................. 14 七、 GridFS文件系统 ..................................................................................................... 15 八、 索引 ......................................................................................................................... 16 九、 主(Master)/从(slave)数据库同步 ................................................................ 20 1. 建立主/从服务器 ................................................................................................... 20 2. 相关参数说明 ......................................................................................................... 21 3. Slave顶替Master ................................................................................................... 22 4. 切换Master/Slave角色 ......................................................................................... 22 5. 更新主服务器位置 ................................................................................................. 22 十、 MongoDB分片和集群............................................................................................ 24 1. 简单分片实例 ......................................................................................................... 24 2. 高级分片实例 ......................................................................................................... 29 十一、 数据库基本操作:增查删改 ............................................................................. 37 1. Insert ....................................................................................................................... 37 2. Query ....................................................................................................................... 38 3. Remove.................................................................................................................... 52 4. Update ..................................................................................................................... 53 十二、 Shell控制台 ........................................................................................................ 62 1. 执行.js文件 ............................................................................................................ 62 2. –eval ........................................................................................................................ 62 3. 脚本和互动的区别 ................................................................................................. 62 十三、 安全与认证 ......................................................................................................... 63 1) 开启安全认证 ......................................................................................................... 63 2) 添加用户 ................................................................................................................. 64 3) 认证 ......................................................................................................................... 64

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值