【mongoDB实战】mongo入门篇
mongoDB是非关系型( NoSQL)的数据库,今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很好的处理这些大的数据。而mongo数据库就这样脱颖而出了.mongoDB从2007年10月份开始推出,历经多个版本的更迭,在13年8月份,发布了目前最新的稳定版的mongoDB.
电商项目中,使用的数据库是mysql和mongoDB,可能是在项目中经常用到mongoDB,在mongoDB用了一段时间以后,发现比mysql更好用.在上一篇博客中,介绍了使用mongoDB前的准备工作,这一篇博客,我们将学习一下mongoDB的
什么是mongoDB
1.MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
2.在高负载的情况下,添加更多的节点,可以保证服务器性能。
3.MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
4.MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
{ "_id" : ObjectId("58632b7b790954b3298cfd24"), "name" : "陈晓婵", "sex" : "女", "work" : "程序媛", "address" : { "province" : "北京", "city" : "北京市", "area" : "朝阳区" }, "hobby" : { "eat" : true, "swim" : false } }
为什么要使用mongoDB
1、需求变化频繁:开发要更加敏捷,开发成本和维护成本要更低,要能够快速地更新进化,新功能要在最短的周期内上线。
2、客户端/api支持,因为这直接影响开发效率
3、部署简单
4、扩展能力强
5、节省系统资源,对cpu等资源耗费较小
2、客户端/api支持,因为这直接影响开发效率
3、部署简单
4、扩展能力强
5、节省系统资源,对cpu等资源耗费较小
如何使用:
以user表为例进行讲解.
1.查询
1)按照条件查询
db.getCollection('user').find({"name" : "陈晓婵"})
2)查询所有
db.getCollection('user').find({})
3)查询第一个
db.getCollection('user').findOne({})
2.插入
db.getCollection('user').insert({"name":"1"})
3.更新
db.getCollection('user').update({"name":"1"},{"name":"2"})
4.删除
db.getCollection('user').remove({"name":"2"})
菲关系型数据库的好处是可以存储各种格式的文件,同样在之前的项目中有用过mongoDB存储过音频文件以及文件,但是不建议这样使用,这样体现不到mongo的优势.
国内外使用mongoDB的公司:
国内:京东,淘宝,360,百度,腾讯,大众点评,天天动听
国外:github,ebay,sourceforge
国外:github,ebay,sourceforge
这些指示简单的列举了几个公司,目前很多电商的公司都已经加入到了mongoDB使用的热潮中.