• egg-mongoose --- nodejs


    项目

    egg + mongoose


    项目结构

    配置


    egg 安装模块

    npm i egg-mongoose --save

    config/pulgin.js

    exports.mongoose = {
      enable: true,
      package: 'egg-mongoose',
    };

    config/config.default.js

    exports.mongoose = {
        url: 'mongodb://127.0.0.1/demo',
        //链接到本地的MongoDB,demo是我本地数据库的名字,根据自己数据库名字进行填写即可
        options: {},
    };

    数据建模


    model/user.js

    // app/model/user.js
    module.exports = app => {
        const mongoose = app.mongoose;
        const Schema = mongoose.Schema;
       
        const UserSchema = new Schema({
          userName: { type: String  },
          password: { type: String  }
        });
        // 以上定义了表数据的类型
       
        return mongoose.model('User', UserSchema, 'userInfo');
        // model(参数1,参数2,参数3)参数3是你数据表中需要操作的表的名字,
        // 比如我现在要操作的是名字叫mongoTest里面的叫userInfo的表
    }

    service


     service/user.js

    'use strict';
    // app/service/user.js
    const Service = require('egg').Service;
    
    class UserService extends Service {
      async findUserList() {
        return this.ctx.model.User.find()
      }
    }
    module.exports = UserService;

    controller


     controller/user.js

    'use strict';
    
    const Controller = require('egg').Controller;
    
    class UserController extends Controller {
      async findUser() {
        // console.log(this.ctx.service.user.findUserList())
        // let ret = await this.ctx.service.user.findUserList()
        // this.ctx.body = ret
    
        this.ctx.body = await this.ctx.service.user.findUserList()
    
      }
    }
    
    module.exports = UserController;

    router.js


    'use strict';
    
    /**
     * @param {Egg.Application} app - egg application
     */
    module.exports = app => {
      const { router, controller } = app;
      router.get('/findUser', controller.user.findUser);
    };

    查询结果


     

  • 相关阅读:
    Redis进阶教程aof(append only file)日志文件
    鼠标移动之hook学习
    SQL Server 2008:示例数据库安装
    接收IWebBrowser2的自动化事件
    什么是DOCTYPE 它对网页起何作用?
    Hack Attack : Install Leopard on your PC in 3 easy steps!
    How to customise the TWebBrowser user interface (part 1 of 6)
    Asp.Net 数据分页
    仿Ajax弹出半透明层 (支持IE FF)
    有关Visual Studio 2008 SP1和SQL Server 2008的一些说明
  • 原文地址:https://www.cnblogs.com/zyulike/p/10095568.html
Copyright © 2020-2023  润新知