查看原文
其他

MongoDB云数据库Atlas使用教程

Dunizb 前端全栈开发者 2020-09-14


学习使用 MongoDB 官方提供的免费云数据库,学习利器。超多图预警!


云数据库


如果你想在本地安装 MongoDB 可以去官网下载,MongoDB 支持 Windows、OSX、Linux,虽然你可以在你的电脑上下载安装 MongoDB,但作为初学研究学习,其实没必要这么折腾,除非你天天在本机用。所以,一个更好的使用方法就是云MongoDB,云 MongoDB 就是把 MongoDB 安装在远程的服务器上,并对外暴露一个服务地址,我们用这个服务地址来连接数据库进行操作,其实我们现在公司开发都是使用云数据库,比如阿里云 RDS 服务。


使用云数据库及 Atlas 的好处在于:

  • 支持更大规模的存储

  • 更安全

  • 免本地安装

  • 无需手动开启,每次直接链接即可

  • 维护简单,不需要我们去维护数据的升级、安装等等,这些都交给云服务厂商去做了

使用 Atlas 的的缺点:最大的缺点就是有点慢!毕竟服务器在国外。其次只能创建一个集群,这个到无所谓,作为学习使用一个集群就够了,毕竟一个集群中可以创建N个数据库啊。

在国内,云大厂有阿里云、腾讯云等,但是都是收费的,而 MongoDB 官方也提供了 MongoDB Atlas,它有免费版和收费版,免费版就适合我们学习使用。


注册、创建和配置 Atlas


第1步,首先注册用户:https://www.mongodb.com/cloud/atlas/register,创建后来到如下界面,填写组织名,云服务默认选择 MongoDB Atlas 即可。



第2步,添加成员并设置权限,可不填



创建成功后来到如下页面



第3步,创建一个Project,点击 New Project按钮,输入项目名称



然会又会来到类似第2步的页面提示增加成员并设置权限,可不填,点击 Create Project 按钮继续,然后会来到创建集群的页面



第4步,创建集群,选择创建免费的集群



选择服务商和节点



有两个选择,推荐选择第2个,毕竟香港更靠近大陆,速度更快。

  1. AWS + Singapore(新加坡)

  2. Azure + Hongkong(香港)【推荐】

然后填写集群名称,如果不知道取什么名字那就默认为Cluster0吧,然后点击 Create Cluster 按钮


集群创建中。。。



创建成功后显示如下



配置数据库信息


第1步,添加数据库用户,配置用户名密码,用于连接 MongoDB 时登录



第2步,把IP地址添加到白名单里面,这里选择点击第二个按钮,可以从任何地方法访问



到这一步Atlas就创建和配置成功了。


连接到 Atlas 集群


创建和配置好Atlas 集群后,我们就可以用 Mongoose 模块和 MongoDB 客户端工具进行连接了。


在连接之前,我们先拿到数据库连接信息,点击集群页面的 Connect 按钮,然后选择第二个



然后就可以Copy连接字符串了(将您的连接字符串添加到您的应用程序代码中)



我的连接字符串如下:

mongodb+srv://zhangbing:<password>@cluster0-jarma.azure.mongodb.net/test?retryWrites=true&w=majority


NoSQLBooster 连接 Altas


MongoDB 客户端工具有很多,免费好用的这里推荐 NoSQLBooster for MongoDB,支持Mac OS 和 Windows 系统,软件界面略有过时,由曾经风靡一时的 jQuery EasyUI 构建,界面美观程度还过得去。



打开 NoSQLBooster 连接 MongoDB,选择 From URI,输入上面拿到的连接字符串,注意替换连接里面的<password>为你的 MongoDB 连接密码,比如123321。



然后点击 Test Connection 按钮进行连接测试,出现如下情况即连接成功!



关闭窗口,点击OK按钮,在点击OK按钮保存连接信息



双击连接信息即可进入



到了这一步,就成功了!


使用 mongoose 连接


nodejs 代码如下

const mongoose = require('mongoose')const connection = 'mongodb+srv://zhangbing:123321@cluster0-jarma.azure.mongodb.net/test?retryWrites=true&w=majority'mongoose.connect(connection, { useUnifiedTopology: true, useNewUrlParser: true, useFindAndModify: true }, () => console.log('mongoose连接成功了!'))mongoose.connection.on('error', console.error)


全文完。

访问带链接版请点击阅读原文


    近 期 推 送   



专注大前端技术

关注我的公众号,第一时间接收原创、精选干货文章

点个在看少个 bug👇

▼阅读原文排版更精美

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存