Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34663
  • 博文数量: 10
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-03 18:24
个人简介

有激情,热情,做自己喜欢做的事!

文章分类

全部博文(10)

文章存档

2015年(3)

2014年(7)

我的朋友

分类: NOSQL

2014-06-07 19:38:46

摘自:参考:

在mongodb中基本的概念是文档、集合、数据库

mongodb的数据库操作

1.增(插入)使用insert方法

>db.test.insert({"name":"abc","pwd":"zxvf","age":21,"sex":"male"}) //添加一个用户

2.删(删除)使用remove方法

>db.test.remove({"name":"abc"}) //删除name为abc的用户

>db.test.remove({}) //删除所有用户

>db.test.drop() //删除整个集合,包括文档数据

>db.dropDatabase() //删除当前数据库

3.改(修改)使用update方法

db.collection.update( criteria, objNew, upsert, multi )

  • criteria : update的查询条件,类似sql update查询内where后面的。
  • objNew : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
  • upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新

> db.test.update({"name" : "zwq"},{"name":"zwq","pwd" :"newpwd","age":21,"sex":"male" })

上例中我们其实值修改pwd,但是第二个参数中应该把所有信息都加上,否则会删除原来的数据,只建立一个pwd
上述方法是一种整体更新的方法,mongodb提供了两种方式来实现局部更新。
$inc,就是increase的缩写,每次修改会在原有的基础上 自增$inc指定的值,如果“文档”中没有此key,则会创建key.
>db.test.update({"name":"zwq"},{$inc:{"age":10}}) 将原来年龄增长10,也就是31
$set修改器,即直接赋值
>db.test.update({"name":"zwq"},{$set:{"age":31}})
mongodb还提供了许多其他的修改方式
$push会向已有的数组加入一个元素,要是没有就会创建一个新的数组
>db.test.update({"name":"zwq"},{"$push":{"email":"xx@gmail.com"}})

4.查(查询)

>db.test.find(); //查询test集合中所有的数据

> db.test.find({"sex":"female",age:{$gt:21}},{"name":1,"_id":0,"age":1})

//查询test集合中性别为女年龄大于21的用户姓名和年龄信息,不显示_id 信息

5.条件操作符

  • (>) 大于 - $gt
  • (<) 小于 - $lt
  • (>=) 大于等于 - $gte
  • (<= ) 小于等于 - $lte

>db.test.find({age:{$lt:21}}) //查询年龄小与21岁的用户

$type操作符是基于BSON类型来检索集合中匹配的结果。

MongoDB中可以使用的类型:

类型描述 类型值
Double 1
String 2
Object 3
Array 4
Binary data 5
Object id 7
Boolean 8
Date 9
Null 10
Regular expression 11
JavaScript code 13
Symbol 14
JavaScript code with scope 15
32-bit integer 16
Timestamp 17
64-bit integer 18
Min key 255
Max key 127

>db.test.find({"name" : {$type : 4}})   //查询所有姓名是数组的文档

5.排序

在MongoDB中使用使用sort()方法对数据进行排序,sort()方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排序,而-1是用于降序排列。

例:>db.test.find().sort({age:1,name:1})   //按年龄升序和姓名升序的方式排列

6.限制查询 limit方法和skip方法

如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数

>db.test.find().limit(3) //查询结果集中取三条

我们除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。skip()方法默认参数为0,limit()默认参数为1

>db.test.find().limit(2).skip(3) //跳过3条,取出之后两条数据
>db.test.find().limit().skip(3) //跳过3条,默认只取之后一条,默认limit为1
>db.test.find().skip(3)
>db.test.find().limit(0).skip(3) //这两种方式都一样,跳过3条取出全部


阅读(386) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~