mongodb使用说明


1.介绍

mongodb中有三元素:数据库,集合,文档,其中集合 就是对应关系数据库中的文档对应

1.1. 下载

      MongoDB官网 ,发现有32bit64bit,这个就要看你系统了,不过这里有两点注意:

      偶数为稳定版(如:1.6.X1.8.X),奇数为开发版(如:1.7.X1.9.X),这两个版本的区别相信大家都知道吧。

       32bitmongodb最大只能存放2G的数据,64bit就没有限制。

1.2. 启动

     启动之前,我们要给mongodb指定一个文件夹,这里取名为”db",用来存放mongodb的数据。

     首先找到“mongodb”的路径,然后运行mongod开启命令,同时用--dbpath指定数据存放地点为“db”文件夹。

  看下是否开启成功,从图中的信息中获知,mongodb采用27017端口,那么我们就在浏览器里面键入http://localhost:27017/

  打开后,mongodb告诉我们在27017Add 1000可以用http模式查看mongodb的管理信息。

    

2. 基本操作

     输入mongo命令打开shell,其实这个shell就是mongodb的客户端,同时也是一个js的编译器,默认连接的是“test”数据库。

2.1.   insert 操作

             数据库有了,下一步就是集合,这里就取集合名为“person”,要注意的就是文档是一个json的扩展(Bson)形式。

2.2. find操作

       我们将数据插入后,肯定是要find出来,不然插了也白插,这里要注意两点:

           ① “_id": 这个字段是数据库默认给我们加的GUID,目的就是保证数据的唯一性。

           ② 严格的按照Bson的形式书写文档,不过也没关系,错误提示还是很强大的。

  

2.3.  update操作

      update方法的第一个参数为查找的条件,第二个参数为更新的值,学过C#,相信还是很好理解的。

 

2.4. remove操作

      remove中如果不带参数将删除所有数据,在mongodb中是一个不可撤回的操作。

3. 数据操作

3.1. 增删查改

3.1.1. Insert操作

     文档是采用“K-V”格式存储的,JSON里面Value可能是字符串,可能是数组,又有可能是内嵌的一个JSON对象,相同的方式也适合于BSON

      常见的插入操作也就两种形式存在:单条插入批量插入

       mongo命令打开的是一个javascript shell

3.1.2. Find操作

     日常开发中,查询最多的也就是二类:

     1: >, >=, <, <=, !=, =

     2:AndORInNotIn

这些操作在mongodb里面都封装好了,下面就一一介绍:

    <1>"$gt", "$gte", "$lt", "$lte", "$ne", "没有特殊关键字",这些跟上面是一一对应的,举几个例子。


<2> "无关键字“, "$or", "$in""$nin" 同样我也是举几个例子

<3> mongodb中还有一个特殊的匹配,那就是正则表达式,这玩意威力很强的。

<4> 有时查询很复杂,可以使用修改器$where,为什么这么说,是因为$where中的value 就是我们非常熟悉,非常热爱的js来助我们一马平川。


3.1.3. Update操作

      更新操作无非也就两种,整体更新和局部更新,使用场合相信大家也清楚。

整体更新

update是属于整体更新。

局部更新

有时候我们仅仅需要更新一个字段,而不是整体更新,mongodb中已经给我们提供了两个修改器: $inc 和 $set

 $inc修改器

       $inc也就是increase的缩写,比如做一个在线用户状态记录,每次修改会在原有的基础上

    自增$inc指定的值,如果文档中没有此key,则会创建key,下面的例子一看就懂。

 $set修改器

代码如下: 


3.1.4. upsert操作

     upsert操作就是说:如果没有查到,就在数据库里面新增一条,其实这样也有好处,就是避免了在数据库里面判断是update还是add操作,使用起来很简单

update的第三个参数设为true即可。


3.1.5.  批量更新

     mongodb中如果匹配多条,默认的情况下只更新第一条,那么如果我们有需求必须批量更新,那么在mongodb中实现也是很简单的,在update的第四个参数中设为true即可。

3.2. 聚合

聚合操作有:countdistinctgroupmapReduce

3.2.1. Count操作

 代码如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值