Koa2学习(九)与mongoDB交互

Koa2学习(九)与mongoDB交互

数据库下载与安装

windows下载地址:http://dl.mongodb.org/dl/win32/x86_64javascript

linux下载地址:https://www.mongodb.com/download-center#communityhtml

安装教程略java

数据库驱动

node.js要与mongo交互,须要安装mongodb驱动。node

npm i mongodb --save

mongoose则是node.js中一个很是流行的对mongodb驱动的封装,内部已经实现了链接池,ORM等功能,对开发人员十分的友好。咱们也用mongoose来学习操做mongoDBlinux

安装mongoosemongodb

npm i mongoose --save

数据库操做

在业务比较复杂的状况下,整个项目应该有一个合理的分层数据流程:数据库

  1. 引入依赖库 -> 链接数据库
  2. 定义模型model(最好写在model目录下)
  3. 一系列业务逻辑 -> 生成实体对象 -> 一系列业务逻辑(最好写在controller下)-> 对数据库进行curd
  4. 定义路由 -> 访问控制器(最好写在routes目录下)

如今以一个特别简单的插入操做来学习:
http.jsnpm

const Koa = require('koa')
const app = new Koa()
const mongoose = require('mongoose')
// 链接数据库:[ip/域名]:[端口号(默认27017)]/[数据库(db)]
mongoose.connect('mongodb://localhost:27017/test')
// 定义模型
const Cat = mongoose.model('Cat', { name: String })

app.use(async () => {
    // 实例化一个实体对象
    const kitty = new Cat({ name: 'Zildjian' })
    // 执行插入操做
    const res = await kitty.save()
    // 打印返回结果
    console.log(res)
})

app.listen(8000)

module.exports = app

模拟测试

  1. 启动服务:
node http.js
  1. 浏览器访问:localhost:8000
  2. node控制台查看执行结果(有数据返回说明插入成功):
{ _id: 5b3b2e074452fb32a448eda7, name: 'Zildjian', __v: 0 }
  1. 登录数据库查看数据(本例以mongo命令行工具为例):
use test
# switched to db test
show collections
# cats
db.cats.find()
# { "_id" : ObjectId("5b3b2e074452fb32a448eda7"), "name" : "Zildjian", "__v" : 0 }

能够看到数据已经插入数据库。windows

更多操做

须要了解更多的数据库操做,请访问mongoose官方文档:
http://mongoosejs.com/docs/queries.html浏览器

相关文章
相关标签/搜索