• Koa2学习(九)与mongoDB交互


    Koa2学习(九)与mongoDB交互

    数据库下载与安装

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

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

    安装教程略

    数据库驱动

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

    npm i mongodb --save
    

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

    安装mongoose

    npm i mongoose --save
    

    数据库操作

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

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

    现在以一个特别简单的插入操作来学习:
    http.js

    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 }
    

    可以看到数据已经插入数据库。

    更多操作

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

  • 相关阅读:
    Hibernate框架—简介
    ooad单例模式-Singleton
    About-JavaOOAD
    win10内置ubuntu,mysql完美清理,并安装
    VUE关于对象动态添加属性无法双向绑定问题
    正则留档
    centos下tomcat中文路径不识别
    web服务器解释html-include
    rose
    聊天框突出箭头
  • 原文地址:https://www.cnblogs.com/shenshangzz/p/9973429.html
Copyright © 2020-2023  润新知