mongoDB windows上的安装及介绍(一)

转载自:https://jingyan.baidu.com/article/d5c4b52bef7268da560dc5f8.html

1.下载 https://www.mongodb.com/download-center#community

下载完除了修改一下路径基本都是默认

2.配置环境变量

在环境变量path之后加bin的路劲   如E:\MongoDB\bin
这样每次使用命令的时候就不要进到  E:\MongoDB\bin目录下了

不用E:\MongoDB\bin>mongod --dbpath E:\MongoDBdata\data\db

3.将MongoDB设置成Windows服务

将MongoDB设置成Windows服务,这个操作就是为了方便,每次开机MongoDB就自动启动了。

  1. 如图在d:\mongodb\data下新建文件夹log(存放日志文件)并且新建文件mongodb.log

    在d:\mongodb新建文件mongo.config

  2. 用记事本打开mongo.config输入:

    dbpath=D:\mongodb\data\db

    logpath=D:\mongodb\data\log\mongo.log  

    (图片的logpath有错误)

  3. 管理员身份打开cmd命令行,进入D:\mongodb\bin目录,输入如下的命令:

    mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"

如图结果存放在日志文件中,查看日志发现已经成功。如果失败有可能没有使用管理员身份,遭到拒绝访问。打开cmd输入services.msc查看服务可以看到MongoDB服务,点击可以启动。

4.编写客户端.bat文件(非必须)

    这样每次启动就不需要敲命令了   mongodbClient.bat 

    里面写服务端的地址端口用户 mongo 127.0.0.1:27017/admin

可以下个mongoDB客户端可视化工具:roboMongo

MongoDB 可视化工具 RoboMongo---Win7 64 安装

5.mongoDB 启动配置

查看启动项 mongod --help

--dbpath

指定数据库的目录,默认在window下是c:\data\db\

--port

指定服务器监听的端口号码,默认是27017

--fork

用守护进程的方式启动mongoDB

--logpath

指定日志的输出路径,默认是控制台

--config

指定启动项用文件的路径

--auth

用安全认证方式启动数据库

 

利用config配置文件来启动数据库改变端口为8888

       mongodb.conf文件

       dbpath = D:\sortware\mongod\db

       port = 8888

       启动文件

       cd   C:\Users\thinkpad\Desktop\MONGODB\mongodb-win32-x86_64-2.0.6

       bin\mongod.exe --config ../mongodb.conf

       shell文件

       mongo 127.0.0.1:8888

6.关闭数据库

1.ctrl+c 组合键可以关闭数据库

2.admin数据库命令关闭数据

 
  1. > db.shutdownServer()

  2. 2017-12-21T13:45:41.902+0800 I NETWORK [thread1] Socket recv() 远程主机强迫关闭了一个现有的连接。 127.0.0.1:27017

  3. 2017-12-21T13:45:41.903+0800 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [127.0.0.1:27017]

  4. server should be down...

  5. 2017-12-21T13:45:41.906+0800 I NETWORK [thread1] trying reconnect to 127.0.0.1:27017 (127.0.0.1) failed

  6.  

 

7.mongoDB数据库介绍

  一、简介

      mongoDB是一个开源的,基于分布式的,面向文档存储的非关系型数据库。是非关系型数据库当中功能最丰富、最像关系数据库的。

      mongoDB由C++编写,其名字来源于"humongous"这个单词,其宗旨在于处理大量数据。

      mongoDB可以运行在Windows、unix、OSX、Solaris系统上,支持32位和64位应用,提供多种编程语言的驱动程序。

      mongoDB支持的数据结构非常松散,是类似json的BSON格式,通过键值对的形式存储数据,可以存储复杂的数据类型。

      mongoDB支持的数据类型有:null、boolean、String、objectId、32位整数、64位整数、64位浮点数、日期、正则表达

式、js代码、二进制数据、数组、内嵌文档、最大值、最小值、未定义类型。

 

         MongoDB中的一条记录就是一个文档,是一个数据结构,由字段和值对组成。MongoDB文档与JSON对象类似。字段的值有可能包括其它文档、数组以及文档数组。MongoDB支持OS X、Linux及Windows等操作系统,并提供了Python,PHP,Ruby,Java及C++语言的驱动程序,社区中也提供了对Erlang及.NET等平台的驱动程序。    

        其中,内嵌文档我并不是.doc.txt等文件,这里所指的文档是mongoDB的一个存储单元(相当于关系型数据当中的记录),在mongoDB中的表现形式为{key1:value1,key2:value2},而内嵌文档则是这样的形式{key1:value1,key2:{key2.1:value2.1,key2.2:value2.2}}。

      mongoDB最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

 

二、mongoDB的特性:

          1.文档(document)是MongoDB中数据的基本单元,非常类似于关系型数据库系统中的行(但是比行要复杂的多)。

          2.集合(collection)就是一组文档,如果说MongoDB中的文档类似于关系型数据库中的行,那么集合就如同表。

          3.MongoDB的单个计算机可以容纳多个独立的数据库,每一个数据库都有自己的集合和权限。

          4.MongoDB自带简洁但功能强大的JavaScript shell,这个工具对于管理MongoDB实例和操作数据作用非常大。

         5. 每一个文档都有一个特殊的键”_id”,它在文档所处的集合中是唯一的,相当于关系数据库中的表的主键。

         6. 面向集合存储。数据被分组到若干集合,每个集合可以包含无限个文档,可以将集合想象成RDBMS的表,区别是集合不需要进行模式定义。

         7. 模式自由。集合中没有行和列的概念,每个文档可以有不同的key,key的值不要求一致的数据类型。

         8. 完整的索引支持。mongoDB的查询优化器会分析查询表达式,并生成一个高效的查询计划。

        9. 高效的数据存储,支持二进制数据及大型对象(图片、视频等)。

       10. 支持复制和故障恢复。

       11. 自动分片以支持云级别的伸缩性,支持水平的数据库集群,可动态添加额外的服务器。

 

三、 mongoDB的适用场景:

            1.Web应用程序。文档能表示丰富的数据结构,建模相同数据库所需的集合数量通常会比使用完全正规化关系型数据库的数据表数量要少。 动态查询和二级索引能让你轻松的实现SQL开发者所熟悉的大多数查询。作为一个成长中的Web应用程序,MongoDB提供了清晰的扩展路线。
          

2.在一些第三方信息的获取或者抓取,因为MongoDB的schema-less,所有格式灵活,不用为了各种格式不一样的信息专门设计统一的格式,极大得减少开发的工作。

          3.主要用来存储一些监控数据,No schema 对开发人员来说,真的很方便,增加字段不用改表结构,而且学习成本极低

          4.分析和日志。MongoDB的目标原子更新和固定集合。

          5.缓存。

 

      四、mongoDB不适用场景:

         1. 要求高度事务性的系统。例如对于银行或会计等需要大量原子性复杂事物的应用程序来说,还是需要关系型数据库的。

         2. 传统的商业智能应用

         3. 复杂的表级联查询

 

 

参考:

http://www.mongodb.org.cn/manual/Collection/

http://blog.csdn.net/zhoutaotao123/article/details/56660848