egg-mongoose --- nodejs

Posted 橘子味儿的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
};

 

 

查询结果


 

 

以上是关于egg-mongoose --- nodejs的主要内容,如果未能解决你的问题,请参考以下文章

Egg中使用egg-mongoose和常用的Mongoose 方法

Egg中使用egg-mongoose和常用的Mongoose 方法

Egg中使用egg-mongoose和常用的Mongoose 方法

node_使用mongo数据库

如何对nodejs代码加密?国内,除了 jshaman 还有别的nodejs保护提供商吗?

在 NodeJS 中与 C++ 代码通信