强型闯入DenoLand[31] - MongoDB 安装教学

Node.js之父新专案Deno 1.0正式亮相| iThome

强型闯入DenoLand[31] - MongoDB 安装教学

本章会分为两个部分:

  • MongoDB 安装教学 (1篇)
  • Oak 串接 MongoDB (1-2篇)

在本章完成後,我们就顺利完成一个简单的 Web API 服务了!

开始之前: 什麽是 MongoDB ?

MongoDB 是众多 NoSQL 中最受欢迎的资料库之一。它能储存 JSON 及 Schema-free 的资料,对比传统的关联式资料库 (MySQL 等等), MongoDB 对於巨量资料、高并发以及高可靠性有更为强大的支援。

此外,比起传统的关联式资料库, MongoDB (也几乎是 NoSQL 的优点)有如下优点:

  1. 不需要事先定义资料文件的结构与资料之间的关联
  2. 也因为不需定义结构,使用者可以自由的新增栏位,不需回头修改过去的资料文件
  3. 能在不停机的状态下,水平式的扩展和资料自动平衡

The History of NoSQL

NOSQL 一词最早出现於1998年,是 Carlo Strozzi 开发的一个轻量、开源、不提供 SQL 功能的关联式资料库[1]

2009年, Last.fm 的 Johan Oskarsson 发起了一次关於分散式开源资料库的讨论[2],来自 Rackspace 的 Eric Evans 再次提出了NOSQL 的概念,这时的 NOSQL 主要指非关系型、分散式、不提供 ACID 的资料库设计模式。

2009年在亚特兰大举行的 "no:sql(east)" 讨论会是一个里程碑,其口号是 "select fun, profit from real_world where relational=false;" 。因此,对 NOSQL 最普遍的解释是「非关联型的」,强调键-值储存文件导向资料库的优点,而不是单纯的反对 RDBMS 。

基於2014年的收入, NOSQL 市场领先企业是 MarkLogicMongoDBDatastax[3]。基於2015年的人气排名,最受欢迎的NOSQL资料库是 MongoDBApache CassandraRedis[4]

-- wikipedia

为何选择 MongoDB

因为在 MongoDB 中,资料的储存架构是以 JSON 格式储存。我们在 Oak 程序从 MongoDB 上取得资料後,就能直接对 JSON 格式的资料进行操作。

进入正题

首先,我们先到 MongoDB 的官网取得安装档:

https://ithelp.ithome.com.tw/upload/images/20201018/20110850J9FXCy7E86.png

下载安装档後,直接打开安装档准备进行安装:

https://ithelp.ithome.com.tw/upload/images/20201018/20110850YP6hezNAxn.png

打开安装档後,会看见引导程序,直接按下一步 (Next)。

https://ithelp.ithome.com.tw/upload/images/20201018/20110850BjdMnjAIo3.png

接下来会看到声明合约,当然同意,哪次不同意?

https://ithelp.ithome.com.tw/upload/images/20201018/20110850yy9b6DzaGH.png

因为笔者没有特殊要求,就直接选择 Complete 将安装程序完成就好。

https://ithelp.ithome.com.tw/upload/images/20201018/20110850hjIKfca5PR.png

来到服务确认页面,笔者这边是原封不动的直接按下一步。

https://ithelp.ithome.com.tw/upload/images/20201018/201108509OIgcssYri.png

MongoDB Compass 是官方提供的图形化介面,因为方便入门,所以笔者选择安装并进行下一步。

https://ithelp.ithome.com.tw/upload/images/20201018/20110850ZZNmhr4X4b.png

安装完成後, MongoDB Compass 就会自动启动拉 !

今天笔者只会介绍 MongoDB 的安装部分,至於如何设定 Collection 等等,笔者会将它与 Oak 串接教学放到同一篇文章一起说明。

题外话

如果没有意外的话,笔者明天也会继续产出文章。昨天出门大吃大喝一整天,回来的时候已经11点多所以才没有发文,真的十分抱歉 QQ

延伸阅读

同样的事情在不同人眼中可能会有不同的见解、看法。

在读完本篇以後,笔者也强烈建议大家去看看以下文章,或许会对型别、变数宣告...等观念有更深层的看法唷!


<<:  Sass @import DAY34

>>:  密码开发方法

【Day7】试着用JSX在页面上渲染出Table吧٩(๑❛ᴗ❛๑)۶

前面在第四篇的时候有稍微说明JSX是什麽东西和有什麽优点, 这一篇我们要来试着使用JSX 在Reac...

[Day19] 与问题成员对话-案例一: 正弦哥

一旦团队系统开始上路运作,团队主管 / 开发系统架构师 / Scrum Master 的责任就是确保...

Day11:插入排序法(Insertion Sort)

谈谈插入排序(Insertion Sort) 在开始今天之前,先来看看影片(约2分钟)吧! http...

数位AI化

人的科技文明发展始终来自於人性 在疫情後的时代,所有的一切都将发生改变,这已经是一个不能逆转的趋势了...

Golang 转生到web世界 - template

Golang 玩一下html template 如果golang要使用作为网站的话,不太可能都只靠p...