zoukankan      html  css  js  c++  java
  • mongoose学习笔记

    项目目录结构如下:

    dbs/conf.js

    const conf = {
      url: "mongodb://localhost:27017/test",
      dbName: "test"
    }
    module.exports = conf;
    

    dbs/models/person.js

    const mongoose = require('mongoose');
    //定义一个描述表结构的Schema
    let personSchema = new mongoose.Schema({ name: String, age: Number })
    //把这个 schema 编译成一个 Model,和表联系起来,model 是我们构造 document 的 Class
    module.exports = mongoose.model('Person', personSchema)
    

    app.js

    const conf=require('./dbs/conf');
    ...
    //连接数据库
    mongoose.connect(conf.url,{
      useNewUrlParser:true
    });
    ...
    
    

    routes/users.js

    const router = require('koa-router')()
    const Person = require('../dbs/models/person')
    router.prefix('/users')
    
    router.get('/', function (ctx, next) {
      ctx.body = 'this is a users response!'
    })
    //add
    router.post('/addPerson', async function (ctx, next) {
      //实例化一个person
      const person = new Person({ name: ctx.request.body.name, age: ctx.request.body.age })
      let code
      try {
       //实例调用save()
        await person.save()
        code = 0
      } catch (e) {
        code = 1
      }
    
      ctx.body = { code: code }
    })
    // get
    router.post('/getPerson', async function (ctx) {
      let result;
      try {
       //Person的静态方法 find
        result = await Person.find({ name: ctx.request.body.name })
        code = 0
      } catch (e) {
        code = 1
      }
      ctx.body = { result: result }
    })
    //update
    router.post('/updatePerson', async function (ctx) {
     //Person的静态方法 update
      const result = await Person.where({ name: ctx.request.body.name })
        .update({ age: ctx.request.body.age })
      ctx.body = { result: result }
    })
    // remove
    router.post('/removePerson', async function (ctx) {
      //Person的静态方法 remove
      const result = await Person.where({ name: ctx.request.body.name })
        .remove()
      ctx.body = { code: 0 }
    })
    module.exports = router
    
    
  • 相关阅读:
    easy-ui的data-options用法
    my_note
    定时器
    abp安装
    微信小程序
    几个免费的ui 后台
    abp创建实体的方法
    winform 开源项目
    func委托
    for update 锁行和锁表
  • 原文地址:https://www.cnblogs.com/superlizhao/p/12056098.html
Copyright © 2011-2022 走看看