一、本地搭建mogoDB数据库、安装mongoDB Compass

关于搭建mogo笔记在这里:https://www.yuque.com/docs/share/19d8df6e-8a16-460a-837c-366ec7809b73?# 《window10安装MongoDB》

二、连接数据库

1、安装包

npm install mongoose —save // 用于连接数据库,处理数据模板等

2、连接数据库

因为线上数据库没有注册成功,用的本地数据库

  1. const koa = require('koa')
  2. const Router = require('koa-router')
  3. const mongoose = require('mongoose')
  4. // 初始化实例
  5. const app = new koa()
  6. const router = new Router()
  7. // 路由
  8. router.get('/', async ctx => {
  9. ctx.body = {msg: 'hello koa,good!'}
  10. })
  11. // 连接数据库
  12. mongoose.connect('mongodb://localhost:27017/admin',
  13. {useNewUrlParser: true, useUnifiedTopology: true})
  14. .then(() => {
  15. console.log('数据库连接成功')
  16. })
  17. .catch(err => {
  18. console.log(err)
  19. })
  20. // 配置路由
  21. app.use(router.routes())
  22. .use(router.allowedMethods())
  23. const port = process.env.PORT || 5000
  24. app.listen(port, () => {
  25. console.log(`server started on ${port}`)
  26. })

运行项目:npm run serve
image.png

3、连接数据库前确保你的数据库启动

此时我们关闭本地MongoDB数据库的话,会发现无法连接,并报错了。
image.png
image.png

4、监听数据库的连接状态

  • 在mongoose对象中,有一个属性叫connection,该对象表示的就是数据库的连接,通过监听该对象的状态,可以来监听当前数据库到底处于连接状态还是断开状态。 ```javascript mongoose.connection.once(“open”, () => { console.log(‘数据库已成功连接’) })

mongoose.connection.once(“close”, () => { console.log(‘数据库已断开连接’) })

//断开数据库连接 mongoose.disconnect() ```

5、项目完整代码

github地址:https://github.com/taoorange/koa-demo

三、废话放在后面-在线数据库Mlab

作者使用的是在线数据库: mlab(国外网站,最好有VPN服务)
https://mlab.com/

1、mlab被收购了,注册服务无法使用

注册时遇到如下问题:
按照提示意思是说我的密码中包含了邮箱的信息,实际上我没有包含,无语。
image.png

查看接口返回:
image.png

也没有具体写什么错误。

仔细阅读注册框左侧部分,意思是malb最近两年应该是被mongobd这家网站的公司收购了,现在注册服务托管于mongo网站(和之前的mlab的sign up页面服务不一样了)。
问题是你注册不上啊!
image.png

算了,我们直接去mongodb网站看一下怎么回事。

2、去mongodb.com看一下

mongo注册网址:https://account.mongodb.com/account/register

尝试注册仍然不行,看来这是后端服务器校验出了问题。无论输入怎样的密码都无法通过。image.png
image.png
image.png

虽然接口不一样,但是调用的应该都是同一个后端接口服务。明显出了问题。

3、放弃线上数据库了

使用过mlab的小伙伴可能知道,其实它的界面看起来还不如mongoCompass。说白了,使用mlab就是图个新鲜,也没有太大必要。本地安装好mongoDB完全够用。
本地安装MongoDB数据库查看我的另一篇文档:
window10安装MongoDB