zoukankan      html  css  js  c++  java
  • 【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等资源耗费较小

    如何使用:

    以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使用的热潮中.





  • 相关阅读:
    [1041] XX easy problem
    [1027] 火焰纹章
    省赛选拔赛解题报告
    二维DP hdu 1421 搬寝室问题
    最长斐波那契子序列选取(离散化 + 二分 + DP)
    两个有序链表合成一个有序链表
    CodeForce 608B Hamming Distance Sum
    CodeForce 607A&&608C Chain Reaction
    (DP)最大价值事件序列选取
    面向对象>>>抽象类>>>鸭子类型>>>封装
  • 原文地址:https://www.cnblogs.com/chenxiaochan/p/7237563.html
Copyright © 2011-2022 走看看