MongoDB初探(二)--基本的操作

来源:互联网 时间:1970-01-01

mongoDB的一个简便的地方就是可以用js语言进行操作。


 

首先在启动了数据仓库后新开一个cmd窗口来连接数据库,默认连接的数据库是test

   mongo localhost:27017 

 

接下来在这个窗口中就可以操作数据库了。

查看数据仓库中的所有数据库命令:  show dbs 

切换当前使用的数据库 命令:  use 名称 

删除当前数据库的命令:  db.dropDatabase() 

查看当前使用的是哪个数据库的命令:  db 

接下来就是建立集合(collection) 相当于关系型数据库中的表不过由于是nosql存储的是key-value所以并不需要固定字段。

显式建立集合命令:  db.createCollection(“person”) 

隐式创建:隐式创建就是在创建集合的同时往集合里面添加数据


CRUD操作:

1>插入操作

插入数据: db.集合名称.insert({}) 

批量插入数据:由于mongo支持js所以我们可以很轻易的批量插入N条数据:

 for(var i=1;i<=100;i++){

db.person2.insert({name:"user"+i,age:i})

}

2>查询操作

查找所有数据:  db.集合名称.find()

查找集合中的第一条数据: db.集合名称.findOne()

      

按条件查找数据db.集合名称.find({条件})

 

查询集合中的文档,返回某些特定的键值db.集合名称.find({查询条件},{返回值条件})   由于mongo使用c++编写的非关系型数据库所以一般0:false  1:true

查询数据,只返回 age字段:

查询数据,返回除age外的其他字段:

查询时使用条件表达式:(<,<=,>,>=,!=)

 //字段 >value

db.集合名称.find({字段名:{$gt:value}})

//字段 <value

db.集合名称.find({字段名:{$lt:value}})

//字段 >=value

db.集合名称.find({字段名:{$gte:value}})

//字段 <=value

db.集合名称.find({字段名:{$lte:value}})

排序(sort)、分页(skip,limit)

 skip(2).limit(3) 从第二条开始,共返回3条   | sort({age:1}); 降序-1

  $all主要用来查询数组中的包含关系,查询条件中只要有一个不包含就不返回

$in,类似于关系型数据库中的IN | $nin,与$in相反



$or,相当于关系型数据库中的OR,表示或者的关系,例如查询name为user2或者age为13的文档,命令为: db.person.find({$or:[{name:”user2”},{age:13}]}) 

$nor,表示根据条件过滤掉某些数据,例如查询name不是user2,age不是13的文档,命令为: db.person.find({$nor:[{name:”user2”},{age:13}]}) 

 $exists,用于查询集合中存在某个键的文档或不存在某个键的文档,例如查询customer集合中存在name键的所有文档,可以使用  db.person.find({name:{$exists:1}})   $exists:1表示真,指存在,$exists:0表示假,指不存在,

 

类似于关系型数据库,mongodb中也有游标的概念


3>更新操作

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

参数说明:

criteria:用于设置查询条件的对象

objNew:用于设置更新内容的对象

upsert:如果记录已经存在,更新它,否则新增一个记录,取值为0或1

multi:如果有多个符合条件的记录,是否全部更新,取值为0或1

4>删除操作

 db.集合名称.remove({条件}) 

 


相关阅读:
Top