MongoDB是一种NOSQL(Not Only SQL)类型的文档型数据库。NoSQL数据库与传统的关系型数据库相比,它具有操作简单、完全免费、源码公开、随时下载等特点,并可以用于各种商业目的。MongoDB的文档模型自由灵活,可以让你在开发过程中畅顺无比。对于大数据量、高并发、弱事务的互联网应用,MongoDB可以应对自如。MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,完全可以满足Web2.0和移动互联网的数据存储需求,其开箱即用的特性也大大降低了中小型网站的运维成本。参考文档MongoDB中文文档社区(http://www.mongoing.com/)MongoDB官网(https://www.mongodb.org/)以及MongoDB JS api(Http://api.mongodb.org/js/)


一、MongoDB windows下的安装

  1、下载MongoDB

    从MongoDB的官网上下载对应版本的MongoDB安装文件https://www.mongodb.org/downloads,我这里选择下载mongodb-win32-x86_64-2008plus-ssl-3.0.5-signed.msi文件。

  2、安装MongoDB

    执行下载完成的msi文件,选择安装目录为E:\program\MongoDB,一直安装完成即可。

  3、创建环境变量

    设置环境变量MONGODB_HOME=E:\program\MongoDB\server\3.0\;PATH=%PATH%;%MONGODB_HOME%\lib。这样我们在cmd中直接输入命令进行校验是否安装成功。

mongo --version
mongod --version

  4、至此MongoDB的安装已经完成。

    MongoDB的项目结构如下:其中bin目录下为mongo的window下命令。

二、MongoDB的初探

  1、启动MongoDB数据库,MongoDB的启动必须指定数据存储目录。默认的目录好像是C:\data\db\,但是也需要创建。

  2、创建数据存储目录E:\program\MongoDB\Data和日志文件存储目录E:\program\MongoDB\log,默认的日志是直接输入到console的。

  3、通过命令mongod启动数据库,具体参数详见Mongod.exe参数详解。我们这里只通过最简单的命令启动mongodb。--dbpath指定数据存储目录,--logpath指定日志存储目录,--httpinterface和--rest启动mongodb的简单rest web接口,不指定端口号,默认端口号为27017。

mongod --dbpath E:\program\MongoDB\Data --logpath E:\program\MongoDB\log\mongo.log  --httpinterface --rest

  4、查看是否启动成功。

    a) 通过web来确定是否启动成功,web端的访问端口默认为shell端口加1000,即默认为27017+1000=28017,访问http://localhost:28017/即可。

    b) 通过shell确认是否启动成功,shell的访问是通过命令mongo命令来进行的,mongo命令的具体参数详见。这里只使用最简单的命令。

mongo 127.0.0.1:27017

  5、至此启动成功

  6、关闭shell端连接

    a) 直接关闭(不推荐)

    b) 输入exit关闭shell客户端

  6、关闭MongoDB数据库

    a) 直接关闭cmd窗口(不推荐)

    b) 在shell客户端中,使用命令关闭。

三、MongoDB和MySQL比较

  MongoDB和MySQL在存储结构上有很大的不同,主要区别如下:

对比项 MongoDB MySQL
集合(collection) 二维表(table)
表中的一行记录 文档(document) 记录(record)
表字段 键(key) 字段(field)
字段值 值(value) 值(value)
主外键 PK,FK
灵活性扩展性 极高

四、 MongoDB的存储数据格式

  MongoDB使用的是BSON数据存储格式,BSON是在Json之上扩展出来的一种数据格式。增加了一些Json不支持的数据类型,比如date,float等。

类型

描述

null

用于表示空或者不存在的字段

布尔

两个数值true或者false

32位/64位整数

Shell中不支持,需要其他高级驱动,比如java

64位浮点型

Shell中其实所有的都是这种类型

UTF-8

字符串类型

对象ID

内置默认ID对象,(_id:ObjectId())

日期

{x:new Date()}

正则

{x:/uspcat/i}

Js代码库

{x:function(){}}

undefined

表示没有定义,和null不一样

数组

{gps:[25,65]}

内嵌文档

{x:{name:”uspcat”}}

二进制

任意字节的字符串,shell中无法使用。

至此MongoDB在windows下的基本按照完成。

[MongoDB] - Window7下安装及BSON基本介绍的更多相关文章

  1. window7下安装第三方包报错及解决

    window7 64位下安装第三方包,,比如安装yaml的exe执行文件,会 报错及解决:python version 2.7(3.4) required,which was not found in ...

  2. window7 下 安装 apache24(httpd-2.4.10-x86-r2)加 php5.6(php-5.6.4-Win32-VC11-x86)加yaf(php_yaf-2.3.3-5.6-ts-vc11-x86)整合

    window7 下 安装 apache24(httpd-2.4.10-x86-r2)加 php5.6(php-5.6.4-Win32-VC11-x86)加yaf(php_yaf-2.3.3-5.6-t ...

  3. mongoDB Liunx下安装及配置

    以下以ubuntu 16.04(64位)操作系统为例: 一.下载和安装 在ubuntu下安装mongodb可以使用 apt-get进行安装,也可以直接下载编译好的二进制文件进行安装.下面主要介绍使用二 ...

  4. MongoDB Windows 下安装部署

    下面主要是我在Windows上(Win7)安装.运行.安装Windows服务的笔记,以作备忘. 1.下载 下载地址:http://www.mongodb.org/downloads 从其下载页面就可以 ...

  5. Window7下安装Eclipse C/C++ Developer

    觉得自己写这个是有点脑残的.哈哈. 毕业之后,看的多的是Java.大多忘记C和C++的东西.虽说大学第一门计算机语言就是学的C.惭愧. 重温一下C的知识. 正题: 1.在Windows下安装Eclip ...

  6. Window7下安装openssl完整版(亲测实现)

    安装环境: 操作系统:window7(64位) C++编译器:VS2010 -------------------------------------------------------------- ...

  7. Window7下安装Ubuntu 14.04 64bit

    本文章主要讲解如何在Windows7操作系统中硬盘安装Ubuntu 14.04 64bit: 1.准备文件 1.ubuntu-14.04.4-desktop-amd64.iso 2.EasyBCD.e ...

  8. 利用docker在window7下安装TensorFlow

    安装过程下碰了不少坑,记录一下安装过程,方便以后有需要时复用. 1.安装docker 下载最新版本的docker并且默认安装即可,安装后打开Docker Quickstart Terminal,初次进 ...

  9. Oracle 11g win32位 window7下安装教程

    1.首先是去http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html官网下载oracle11 ...

随机推荐

  1. 关于iOS开发中info.plist文件的解读

    我们建立一个工程后,会在Supporting files下面看到一个"工程名-Info.plist"的文件,这个是对工程做一些运行期配置的文件,很重要,不能删除.  下面就对其ke ...

  2. poj2528 Mayor's posters(线段树区间覆盖)

    Mayor's posters Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 50888   Accepted: 14737 ...

  3. 安装arm-linux-gcc交叉编译器

    1.开发平台 虚拟机:VMware 12 操作系统:Ubuntu 14.04 2.准备交叉编译工具包(arm-linux-gcc-4.5.1) 编译uboot和linux kernel都需要gnu交叉 ...

  4. Java-设计模式-单例模式-饿汉模式、懒汉模式

    //-------------------------------------------------------------饿汉模式--开始----------------------------- ...

  5. UVa 336 - A Node Too Far

    题目大意:在计算机网络中,每条信息都有一个TTL值,在信息到达一个节点时,TTL值首先减1,如果TTL为0,则丢弃该信息报文.给一个网络的配置,给定源点和TTL值,判断该网络中有多少节点不可到达. 无 ...

  6. Eclipse 注释

    Ctrl + / Ctri + Shift + / Ctrl + Shift + C

  7. java中Integer比较需要注意的问题

    java中Integer比较需要注意的问题 package com.srie.test; import java.util.HashMap; import java.util.Map; public ...

  8. AIX系统开启ftp服务

    http://blog.itpub.net/28227905/viewspace-1060183/ 当然,首先网络工程师给你放开策略,开通ftp端口之后,你才能做下一步. [@more@] AIX开启 ...

  9. jackson - 生成jason工具-简单示例

    主页: http://jackson.codehaus.org/ https://github.com/FasterXML/jackson 当前jackson分为三部分,需要分别下载: jackson ...

  10. Flex回声消除的最佳方法

    Adobe Flash Player 已经成为音频和视频播放的非常流行的工具.实际上,目前大多数因特网视频均使用 Flash Player观看. Flash Player 通过将许多技术进行组合可以提 ...