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({条件})
http://www.cnblogs.com/tjndodo/archive/2015/11/12/4959018.html
W3c0.com 提供的内容仅用于培训。我们不保证内容的正确性。通过使用本站内容随之而来的风险与本站无关。W3c0 简体中文版的所有内容仅供测试,对任何法律问题及风险不承担任何责任。 当使用本站时,代表您已接受了本站的使用条款和隐私条款。版权所有,保留一切权利。 鲁ICP备15022115号