先确定 MongoDB 数据库已经运行了 .. 在命令行下面,执行一下 mongod .. 然后用编辑器打开我们的项目 ...
创建一个新的 js 文件,可以放在 config 目录的下面,名字是 database.js .. 在这个文件里先要把 mongoose 导入进来 ...
const mongoose = require('mongoose')
连接到 MongoDB 数据库,可以使用 mongoose 的 connect 方法 ... 把数据库的地址,还有相关的配置选项告诉这个方法就行了 .. 这里用 uri 表示连接的地址 ... 用 options 表示相关的选项 ..
在上面再添加一个 uri ... 它的值就是数据库的地址 .. 这个地址看起来像这样 .. mongodb://localhost:27017/ravent ,这里 localhost 是数据库的主机名,27017 是数据库的端口号,这是 MongoDB 的默认的端口号 .. 后面的 ravent 是数据库的名字 ... 这是我自己给数据库起的一个名字 ...
MongoDB 会自动去创建这个数据库 ...
然后再去定义一个选项 ... 名字可以是 options ... 里面先把 useMongoClient: true ..
Promise
我们可以让 mongoose 支持 Promise ,我们需要自己给它指定一个要使用的 Promise 库,这里可以用 Node.js 原生的 Promise ..
mongoose.Promise = global.Promise
这样我们就可以用 Promise 了 .. 这个 connect 会返回一个 Promise ... 所以我们可以用一下 then .. 先指定一下连接成功以后要做的事情 .. 成功以后,会收到一个 db 对象 ... 用一个箭头函数 ... 在控制台上输出点文字 .. console.log('😄 连接数据库成功')
然后再处理一下发生的错误,用一个 catch ,收到的错误是 error ... 我们还是简单的在控制台上输出点文字,提示用户不能连接到数据库 .. console.log('😿 连接数据库失败')
导出
再把这个 mongoose 导出来 .. module.exports = mongoose
测试
再打开 index.js ... 这里可以导入 config 下面的 database ...
const db = require('./config/database')
然后回到命令行 ... 执行一下 node index.js
会提示连接数据库成功 ... 再试一下 ... 回到 database.js ... 改一下数据库地址里的端口号 ...
再去执行一下 node index.js ..
这次就会提示连接数据库失败 ... 因为数据库的端口号不对了 ... 再回到 database.js,把这个端口号改成默认的 27017 ...