zoukankan      html  css  js  c++  java
  • MongoDB 学习笔记

    记录笔者日常学习笔记,无深解内容,除了笔者无人看懂。
    MongoDB
    MongoDB中文网

    什么是MongoDB ?

    MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

    MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

    主要特点

    • MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
    • 你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
    • 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
    • 如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
    • Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
    • MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
    • Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
    • Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
    • Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
    • GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
    • MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
    • MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
    • MongoDB安装简单。

    MongoDB 下载

    你可以在mongodb官网下载该安装包,地址为:https://www.mongodb.com/download-center#community 。MonggoDB支持以下平台:

    • OS X 32-bit
    • OS X 64-bit
    • Linux 32-bit
    • Linux 64-bit
    • Windows 32-bit
    • Windows 64-bit
    • Solaris i86pc
    • Solaris 64

    MongoDB有两种版本:

    1. (Enterprise Edition)企业版,更高级的功能和技术服务(应该要钱)
    2. (Community Edition)社区版,免费,一般来说足够用的了
      两者差异主要体现在安全认证、系统认证等方面。本次讲述安装的当然是免费的

    安装MongoDB有三种方式:

    1. 下载安装包。手动安装(manually),需要下载安装包、解压、编译
    2. 采用Homebrew,使用mac系统的Homebrew安装(Homebrew),Homebrew是mac系统上的包管理工具,类似node的npm。

    第一种下载安装包,手动安装方式:
    下载安装包
    选择Mac OS 系统安装包 ,Mac 版的安装包是.tgz 建议把下载链接复制到迅雷下载,会快一点。

    新建文件夹
    为了方便启动,在任意位置建了一个mongodb的文件夹,将刚才下载的安装包移动到了这个mongodb目录下

    解压安装文件
    Terminal.app 进到上面新建的那个文件夹下,去解压安装包。解压的命令是:

    tar -zxvf mongodb-macos-x86_64-4.4.0.tgz
    

    也可以通过tar -zxvf mongodb-macos-x86_64-4.4.0.tgz -C /Home-C /指定路径 设置解压路径,可以自行了解

    包的名字需要根据你刚才下载的文件来书写!!!
    解压完毕,就会出现一个文件目录,这就是MongoDB环境文件夹

    运行 MongoDB
    首先我们创建一个数据库文件存储的目录 db,然后我又把刚刚解压的文件名修改了一下,现在是这个样子

    Terminal.app 命令行进到MongoDB环境文件夹下面的bin目录,然后执行命令,./mongod --dbpath 数据库文件存储路径,注意是./mongod

     ./mongod --dbpath /Users/admin/mongodb/db 
    

    其实就是执行 ./mongod --dbpath 数据库文件存储路径,这个数据库文件存储的目录就是上面建的db文件,如果不知道这个文件的路径,可以直接把这个db文件夹托到Terminal.app 里面,就可以看到完整路径了。

    执行完命令会出现一大堆提示,可以先不用看,打开浏览器访问http://127.0.0.1:27017/ ,如果出现下面的英文提示,就代表启动了MongoDB服务了,

    启动完MongoDB服务的这个Terminal.app命令窗口不要关闭,可以最小化,命令窗口关闭的话MongoDB服务就停了。

    MongoDB 工具

    有几种可用于MongoDB的管理工具。

    监控

    MongoDB提供了网络和系统监控工具Munin,它作为一个插件应用于MongoDB中。

    Gangila是MongoDB高性能的系统监视的工具,它作为一个插件应用于MongoDB中。

    基于图形界面的开源工具 Cacti, 用于查看CPU负载, 网络带宽利用率,它也提供了一个应用于监控 MongoDB 的插件。

    GUI

    • Fang of Mongo – 网页式,由Django和jQuery所构成。
    • Futon4Mongo – 一个CouchDB Futon web的mongodb山寨版。
    • Mongo3 – Ruby写成。
    • MongoHub – 适用于OSX的应用程序。
    • Opricot – 一个基于浏览器的MongoDB控制台, 由PHP撰写而成。
    • Database Master — Windows的mongodb管理工具
    • RockMongo — 最好的PHP语言的MongoDB管理工具,轻量级, 支持多国语言.
  • 相关阅读:
    P4568 [JLOI2011]飞行路线(分层图)
    打地鼠游戏(贪心)
    雷神领域(并查集真是个好东西)并查集+流氓dp
    P2934 [USACO09JAN]安全出行
    P2893 [USACO08FEB]修路
    P2894 [USACO08FEB]酒店Hotel
    P4145 上帝造题的七分钟2 / 花神游历各国
    P2579 [ZJOI2005]沼泽鳄鱼(邻接矩阵,快速幂)
    P2905 [USACO08OPEN]农场危机Crisis on the Farm(简单dp+麻烦“回溯”)
    day 2 上午 挂饰 背包
  • 原文地址:https://www.cnblogs.com/jiaoshou/p/13434273.html
Copyright © 2011-2022 走看看