MongoDB云数据库Atlas使用教程
学习使用 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个,毕竟香港更靠近大陆,速度更快。
AWS + Singapore(新加坡)
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)
全文完。
访问带链接版请点击阅读原文
实战:在小程序中获取用户所在城市信息 使用LeanCloud存储你的静态页面数据 小技巧|配置好用的Chrome DevTools 小技巧|同步你VSCode设置及扩展插件,换机不用愁! 虚拟DOM和实际的DOM有何不同? 小程序开发中的一些实践和踩坑 在Koa.js中实现文件上传的接口 Vue Function-based API RFC(中文) 当初设计 HTTPS 的需求是啥? 什么是高效率? 浏览器的线程和进程 IP、UDP和TCP的关系 前端要知道的HTTPS 前端要知道的RESTful API架构风格 10倍工作法之以终为始 小技巧|使用Vue.js的Mixins复用你的代码
专注大前端技术
关注我的公众号,第一时间接收原创、精选干货文章
点个在看少个 bug👇
▼阅读原文排版更精美