[MongoDB] - Window7下安装及BSON基本介绍
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基本介绍的更多相关文章
- window7下安装第三方包报错及解决
window7 64位下安装第三方包,,比如安装yaml的exe执行文件,会 报错及解决:python version 2.7(3.4) required,which was not found in ...
- 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 ...
- mongoDB Liunx下安装及配置
以下以ubuntu 16.04(64位)操作系统为例: 一.下载和安装 在ubuntu下安装mongodb可以使用 apt-get进行安装,也可以直接下载编译好的二进制文件进行安装.下面主要介绍使用二 ...
- MongoDB Windows 下安装部署
下面主要是我在Windows上(Win7)安装.运行.安装Windows服务的笔记,以作备忘. 1.下载 下载地址:http://www.mongodb.org/downloads 从其下载页面就可以 ...
- Window7下安装Eclipse C/C++ Developer
觉得自己写这个是有点脑残的.哈哈. 毕业之后,看的多的是Java.大多忘记C和C++的东西.虽说大学第一门计算机语言就是学的C.惭愧. 重温一下C的知识. 正题: 1.在Windows下安装Eclip ...
- Window7下安装openssl完整版(亲测实现)
安装环境: 操作系统:window7(64位) C++编译器:VS2010 -------------------------------------------------------------- ...
- Window7下安装Ubuntu 14.04 64bit
本文章主要讲解如何在Windows7操作系统中硬盘安装Ubuntu 14.04 64bit: 1.准备文件 1.ubuntu-14.04.4-desktop-amd64.iso 2.EasyBCD.e ...
- 利用docker在window7下安装TensorFlow
安装过程下碰了不少坑,记录一下安装过程,方便以后有需要时复用. 1.安装docker 下载最新版本的docker并且默认安装即可,安装后打开Docker Quickstart Terminal,初次进 ...
- Oracle 11g win32位 window7下安装教程
1.首先是去http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html官网下载oracle11 ...
随机推荐
- iOS开发——打开手机相册,获取图片
1.添加代理UIImagePickerControllerDelegate 2.设置点击跳转事件 - (IBAction)picButton:(UIButton *)sender { NSLog(@& ...
- IOS开发中UITableView(表视图)的滚动优化及自定义Cell
IOS开发中UITableView(表视图)的滚动优化及自定义Cell IOS 开发中UITableView是非常常用的一个控件,我们平时在手机上看到的联系人列表,微信好友列表等都是通过UITable ...
- 自己实现一个IOC(控制翻转,DI依赖注入)容器
1.新建一个控制台应用程序 TestIOC 2.新增一个 IocFactory类 using System; using System.Collections.Generic; using Syste ...
- UVa 573 - The Snail
题目大意:有一只蜗牛位于深一个深度为h米的井底,它白天向上爬u米,晚上向下滑d米,由于疲劳原因,蜗牛白天爬的高度会比上一天少f%(总是相对于第一天),如果白天爬的高度小于0,那么这天它就不再向上爬,问 ...
- JDK8新特性面试
java8:http://ifeve.com/java-8-features-tutorial/ 一.Lambda表达式和函数式接口 Lambda表达式(也叫做闭包) 它允许我们将一个函数当作方法的参 ...
- 网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?
xampp 是一个非常方便的本地 apache + php + mysql 的调试环境,在本地安装测试 WordPress 等各种博客.论坛程序非常方便.今天我们来给大家介绍一下,如何使用 XAMPP ...
- 利用PHPCMS V9站群功能建立分站
hosts文件就在C:\Windows\system32\drivers\etc\hosts下 用一套CMS软件系统,做多个网站,统一管理,用户可以互通,这就是所谓的站群功能.这对于运营和维护都能节省 ...
- document.body.clientHeight的取值
http://www.cnblogs.com/fullhouse/archive/2012/01/05/2313800.html 有时候需要取页面的底部, 就会用到document.body.clie ...
- SpringMVC 前端获得定义JSON对象的方法
SpringMVC 前端获得定义JSON对象的方法: 可以使用map进行对象的创建,这样就会解析成键值对,不需要为前端专门定义对象.
- HttpSesstionActivationLIstener示例
HttpSesstionActivationLIstener示例: http://www.cnblogs.com/xdp-gacl/p/3969249.html 钝化的session会已session ...