【mongoDB实战】mongo入门篇

来源:互联网 发布:分时九转指标公式源码 编辑:程序博客网 时间:2024/06/05 08:35

        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等资源耗费较小

如何使用:

以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
这些指示简单的列举了几个公司,目前很多电商的公司都已经加入到了mongoDB使用的热潮中.





1 0