MongoDB基本概念和常用命令
Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo
DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。
NoSQL数据库与传统的关系型数据库相比,它具有操作简单、完全免费、源码公开、随时下载等特点,并可以用于各种商业目的。这使NoSQL产品广泛应用于各种大型门户网站和专业网站,大大降低了运营成本。
2010年,随着互联网Web2.0网站的兴起,NoSQL在国内掀起一阵热潮,其中风头最劲的莫过于MongoDB了。越来越多的业界公司已经将MongoDB投入实际的生产环境,很多创业团队也将MongoDB作为自己的首选数据库,创造出非常之多的移动互联网应用。
MongoDB的文档模型自由灵活,可以让你在开发过程中畅顺无比。对于大数据量、高并发、弱事务的互联网应用,MongoDB可以应对自如。MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,完全可以满足Web2.0和移动互联网的数据存储需求,其开箱即用的特性也大大降低了中小型网站的运维成本。
至于下载和安装我这里就不讲解了,我来说一下MonboDB数据库的常用命令。
collection相当于数据表。
1.添加:
db.things.save({"name":1));
db.things.insert({"name":1});
2.查询:
查询符合条件的全部 db.things.find();
返回的数据只显示name列
db.things.find(null,{name:1})
查询第一个符合条件的
db.things.findOne();
条件查询并循环输出
db.things.find({x:4}).foreach(printjson);
limit限制:
db.things.find().limit(3);
3.修改: db.things.update({name:"mongo"},{$set:{name:"mongo_new"}}) ;
4.删除: db.things.remove({name:"mongo_new"});
5.条件操作符
db.collection.find({"field":{$gt:value}});
$gt 大于
$it 小于
$gte 大于等于
$ite 小于等于
$all 匹配所有 db.users.find({age:{$all:[6,8]}});
$exists 判断字段是否存在 查询所有存在age字段的记录 :db.users.find({age:{$exists:true}});
$mod 取模运算 db.student.find({age:{$mod:[10,1]}});
$ne 不等于 db.things.find({x:{$ne:3}});
$in 包含 db.things.find({x:{$in:[2,4,6]}});
$nin 不包含
$size 数组元素个数 db.users.find({favorite_number:{$size:2}});
6.正则表达式匹配 查询不匹配name=B*带头的记录 db.users.find({name:{$not:/^B.*/}});
7.排序: db.users.find().sort({age:1});//asc
db.users.find().sort({age:-1});//desc