注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃。

第一部分:

  MySQL数据库是关系型数据库,但是使用node开发时多用MongoDB数据库,两者各有优势,所以综合学习会有更好的选择。

  看看官网是怎么介绍的吧~

MongoDB is an open-source document database that provides high performance, high availability, and automatic scaling.

  即 MongoDB 是文档数据库,其中MongoDB中的每一条记录就是一个文档。下面是一些对于MongoDB数据库重要知识点的总结概括。

1. MongoDB 中数据库、集合、文档的概念是什么? 他们之间的关系是怎样的?

  我们知道MySQL是关系型数据库,而MongoDB不是,我们使用下表进行对比:

 通过这张表中的 table joins 我们可以看出MongoDB的最大特点:不支持表连接。 即它不属于关系型数据库。

  文档

  • 文档是一组(注意:不是一个)键值对。
  • 文档类似于RDBMS中的行、记录, 多个键值对按照一定的顺序就可以组成文档(如果顺序变化了,就是另外一个文档), 文档是MongoDB中的基本组成单元。
  • MongoDB是区分大小写的,且键是字符串,而值可以是任意类型(包括文档)。

  下面就是一个文档:

{"name": "John Zhu", "age":}

  可以看出这和JSON基本上是一致的。

  集合

  • 集合是一组(当然这一组中也可能只有一个文档)文档。
  • 集合类似于RDBMS中的表, 但是对于MongoDB而言,集合中的文档其模式无需完全一致(关系数据库中,每一行都有同名的键,有对应相同类型的键值)。

  下面就是一个集合(包含了两个文档,当然也可以更多):

{"name": "John Zhu", "age": }
{"gender": "male", "school": "xjtu"}

  这就是一个集合,其中包含了两个文档,值得注意的是,这个集合中的两个文档的类型并不同,也就是说MongoDB在组织记录时的方法和MySQL是不一样的。

 数据库

  数据库是由多个集合组成的,并且数据库之间是独立的,这和 MySQL 是一样的。

  下面的几个数据库是MongoDB保留的:

  • admin (root用户库)
  • local
  • config (保存分片信息)

2. 如何在计算机上安装MongoDB数据库

第一步: 官网下载.msi文件

第二步: 默认路径安装(其中 Complete 是默认安装到C盘的program files下的MongoDB中,也可以选择Custom来自定义安装文件,为了方便,推荐使用默认安装)

默认的安装路径为:C:\Program Files\MongoDB\Server\3.4\bin。

第三步:创建data/db

mongodb默认会在安装的盘的根目录的创建文件夹data/db来存储数据,如果使用命令安装发现并不能创建data文件夹,那么就要手动创建该文件

即在C盘根目录下创建data文件,data文件创建db文件夹用来存储数据库数据。

 当然也不是必须在根目录下创建data/db文件,但如果不这样,后序在操作上比较麻烦,需要指出data/db的位置才行。比如将dada/db放在了f盘,这一这样启动MongoDB服务器:

mongod --dbpath f:/data

 显然,这是非常麻烦的。 

第四步:启动MongoDB服务器(注意:如果没有第三步中创建data/db,那么本次执行将会失败!)

 复制路径C:\Program Files\MongoDB\Server\3.4\bin在cmd中进入,然后执行:

mongod

 启动MongoDB服务器。

如果我们希望更改端口,可以这样启动数据库:

mongod -port 28888

这就会在端口28888监听了。 我们再浏览器上输入 localhost:28888 即可访问本地的MongoDB服务器。

 在没有第三步的情况下执行此命令,结果如下:

可以看到开始给MongoDB服务器分配了一个pid(进程id),分配了27017端口用于访问,并且默认的数据库在C盘下的data\db下(但是执行这一步之前我们没有创建这个文件),host为我的主机名称。

接着在中间靠后出现错误提示: exception in initAndListen: 29 Data directory C:\data\db\ not found, termination ,即由于没有找到 data\db 文件夹,所以分配数据失败,进而关闭窗口,服务器启动失败。

 在完成第三步的情况下,结果如下:

即同样分配了pid等,然后因为已经存在了 data/db 所以成功地导入数据,这时我们打开C盘的data/db发现就已经多了很多数据,如下:

最终提示 : waiting for connections on port 27017...  即MongoDB数据库已经开启,等待客户端连接...

这时我们可以在浏览器中输入 localhost:27017 , 显示如下:

即客户端尝试通过http协议连接MongoDB服务器。

第五步:连接并操作数据库

另外打开一个cmd(这是关键,因为服务器要运行,所以不能破坏刚刚开启的服务器),然后输入:

mongo

这样就打开了Mongo Shell, 然后通过shell我们就可以管理数据库了。

如下所示:

可以看到在输入了mongo之后,MongDB的版本为3.4.4, 成功连接到了 MongoDB 服务器,同时还给出了一些警告, 即连接控制不被允许,且对于数据和配置的读写都是不受限制的。

注意: 这里mongod连接不带鉴权,客户端直接连上就可以操作了。 如果需要可以自行设置。

Ok!  到这里就可以进行MongoDB数据库的操作了。但是我们发现,如果每次希望开启MongoDB服务器,并连接服务器,都需要先C: -> cd program files -> cd mongodb -> cd server -> cd 3.4 -> cd bin 然后再执行其他的操作,这是非常麻烦的。 所以将之将入环境变量是一个不错的方法!

第六步: 将mongodb路径加入环境变量,方便操作。

  如下所示:

  现在我们发现,即使不进入bin文件,也可以直接执行mongod命令(开启MongoDB数据库)和mongo命令(连接MongoDB数据库)了,如下所示:

3. 什么是Mongo Shell?  他有什么用

  MongoDB Shell是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。所以在shell中我们就可以执行JavaScript代码,包括函数。(console不可使用)。如下所示:

   

  可以看到通过mongo我们就可以进入shell了,然后就可以使用一些简单的js代码, 通过ctrl + c或者是quit() 函数可以退出shell。

  可以看到我们可以利用 {} 来多行输入。

  另外,我们输入db,可以发现会返回test, 即test是默认的MongoDB数据库。

  下面是在shell中的一些基本操作:

  即其中的 show dbs可以显示出当前所有的数据库, use admin表示切换到admin数据库, 而 db 表示显示当前的数据库。

第二部分

  什么是Mongoose呢?它是用于管理数据的。后面详细介绍。

   mongoose实际上就是对操作mongoDB数据库代码的一层封装,方便我们通过js使用数据库。 但是直接使用mongodb也是可以的。

  这里有mongoose的学习文档

MongoDB数据库初探 --- 认识与安装 && Mongoose安装的更多相关文章

  1. 全自动安装mongoDB数据库的shell脚本

    最近在研究mongoDB数据库,写了个全自动安装mongoDB数据库的shell脚本,仅供参考,欢迎拍砖,内容如下: #!/bin/bash # shell的执行选项: # -n 只读取shell脚本 ...

  2. mac下安装mongodb数据库教程

    前言 由于最近在学习node+express,学习到持久化存储章节需要连接mongodb数据库,然后之前也有试过安装mongodb但是失败了,这次就找了很多资料,终于安装完成了,故此记录下来安装步骤, ...

  3. mongodb数据库操作方法

    // Schema.Model.Entity或者Documents的关系请牢记,Schema生成Model,Model创造Entity,Model和Entity都可对数据库操作造成影响,但Model比 ...

  4. nodeJS从入门到进阶三(MongoDB数据库)

    一.MongoDB数据库 1.概念 数据库(DataBase)是一个按照数据结构进行数据的组织,管理,存放数据的仓库. 2.关系型数据库 按照关系模型存储的数据库,数据与数据之间的关系非常密切,可以实 ...

  5. 【MongoDB数据库】怎样安装、配置MongoDB

    本blog以最简洁的方式记录了博主在折腾MongoDB过程中点点滴滴,当中包含下载MongoDB.配置环境变量.怎样启动MongoDBserver.怎样连接MongoDBserver以及怎样连接Mon ...

  6. Centos下MongoDB数据库的安装以及配置开机自启动(三)

    最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. 在服务器上完全可以用yum来安装管 ...

  7. MacOS系统下简单安装以及配置MongoDB数据库(一)

    最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. 项目一共四部分: 1.MacOS下 ...

  8. Mac 安装 MongoDB 数据库

    1. 使用 brew install mongodb 安装 (参见下图) 2. 安装成功如下图 (成功与否可参考 方框内字符) 3. 启动 MongoDB 数据库 3.1 先创建数据库存储目录 /da ...

  9. 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用

    在前面介绍了三篇关于MongoDB数据库的开发使用文章,严格来讲这个不能归类于MongoDB数据库开发,不过Redis又有着和MongoDB数据库非常密切的关系,它们两者很接近,Redis主要是内存中 ...

随机推荐

  1. SpringMVC源码解读 - RequestMapping注解实现解读 - ConsumesRequestCondition

    consumes  指定处理请求的提交内容类型(media-Type),例如application/json, text/html. 所以这边的ConsumesRequestCondition就是通过 ...

  2. System.Timers.Timer用法

    System.Timers.Timer t = new System.Timers.Timer(5000); //设置时间间隔为5秒 private void Form1_Load(object se ...

  3. Java菜鸟之java基础语法,运算符(三)

    赋值运算符 (一)JAVA种的赋值运算符 = ,代表代表的等于,一般的形式是  左边变量名称   =     右边的需要赋的指或者表达式,如果左侧的变量类型级别比较高,就把右侧的数据转换成左侧相同的高 ...

  4. PHP开发实用-阿里短信服务(Short Message Service)

    步骤 1 使用阿里云短信服务正常发短信需要 短信签名 短信模板 1申请短信签名   根据用户属性来创建符合自身属性的签名信息.企业用户需要上传相关企业资质证明,个人用户需要上传证明个人身份的证明.   ...

  5. python读写Excel文件(xlrd、xlwr)

    一.首先需要安装第三方库:pip install xlrd 1.打开Excel文件,由于写入时需要copy,所以这里加上保留原格式参数:formatting_info=True excel_file ...

  6. hello world! hello blog!

    2015年12月21日 16:42:15   博客开启!

  7. ES_HEAD基本查询操作

    一.基本查询操作   选择索引 设置type查询条件 搜索         操作说明如图:     二.must, must not,should的区别 must 返回的文档必须满足must子句的条件 ...

  8. django view function

    view function 的几种返回值 return HttpResponse(html) return HttpResponseNotFound(html) raise Http404(" ...

  9. 算法 UVA 11292

    ***从今天开始自学算法. ***代码是用c++,所以顺便再自学一下c++ 例题1  勇者斗恶龙(The Dragon of Loowater, UVa 11292) 你的王国里有一条n个头的恶龙,你 ...

  10. 牛客网提高组模拟赛第五场 T1同余方程(异或)(位运算)

    区间不好做,但是我们可以转化成前缀来做.转化为前缀之后之后就是二维前缀和. 但是我还是不怎么会做.所以只能去看吉老师的题解 (确定写的那么简单真的是题解???). 我们要求模一个数余0,就等于找它的倍 ...