连接到 MongoDB 数据库
刚发布了新课程《Node.js 与 MongoDB》,介绍了使用 Node.js 控制 MongoDB 数据库的方法。写入,读取,更新,还有删除数据。在本地安装一个 MongoDB,跟着 MongoDB 的课程练习一下,先了解一下 MongoDB 本身提供的方法去处理数据库里数据。
让 Node.js 与 MongoDB 结合到一块儿,需要一套方法,MongoDB 官方提供了一套方法叫:node mongodb native。课程里我用的是 Mongoose,这个 Mongoose 有点像是 Laravel 里的 Eloquent, 或者 Rails 框架里的 Active Record,可以到宁皓网上找一下这两个框架的课程,先去了解一下,会有帮助。
安装 MongoDB
在专门介绍 MongoDB 的时候,我在本地用 Docker 创建了一个 MongoDB 容器。如果你还不习惯用 Docker ,可以直接在本地安装 MongoDB 数据库,使用系统的包管理工具去安装一个 MongoDB。Windows 上用 Chocolatey,macOS 用 Homebrew。
macOS:Homebrew
brew install mongodb
Windows:Chocolatey
choco install mongodb
完成以后应该需要创建一个数据库目录(Windows 省略 sudo):
sudo mkdir /data/db
macOS 上得修改一下这个目录的拥有者(Windows 可省略这一步):
sudo chown -R wanghao /data/db
然后执行 mongod ,可以启动 MongoDB 数据库管理系统。
mongod
MongoDB 图形化界面
Robo 3t 提供了一个图形化界面,可以管理 MongoDB 数据库。你可以查看与管理数据库,集合,还有文档。用系统包管理工具可以安装这个软件。
macOS:Homebrew
brew install caskroom/cask/robo-3t
Windows:Chocolatey
choco install robo3t

Mongoose
启动 MongoDB 以后,在 Node.js 项目里安装一下 Mongoose 这个 Package 以后,就可以使用它去控制 MongoDB 数据库了。
安装 Mongoose:
yarn add mongoose
在项目里导入 Mongoose:
const mongoose = require('mongoose')配置 Mongoose 使用 Promise:
mongoose.Promise = global.Promise
创建与连接到指定的数据库:
const uri = 'mongodb://localhost:27017/ravent'
const options = {
useMongoClient: true,
}
mongoose.Promise = global.Promise
mongoose
.connect(uri, options)
.then(db => console.log('😄 连接数据库成功'))
.catch(error => console.log('😿 连接数据库失败'))现在,我们就可以使用 Mongoose 里的方法去处理数据库了。
Node.js



