码迷,mamicode.com
首页 > 数据库 > 详细

Egg中使用Mongoose实现数据库表的关联查询

时间:2020-06-29 00:55:31      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:wait   module   lookup   使用   username   mongo   agg   extend   sync   

model/user.js

module.exports = app => {

    const mongoose = app.mongoose;   /*引入建立连接的mongoose */
    const Schema = mongoose.Schema;
   

    //数据库表的映射
    const UserSchema = new Schema({
      username: { type: String  },
      password: { type: String  },
      status:{
        type:Number,
        default:1
      }

    });
   
    return mongoose.model(‘User‘, UserSchema,‘user‘);
}

modle/order.js

module.exports = app => {

    const mongoose = app.mongoose;   /*引入建立连接的mongoose */
    const Schema = mongoose.Schema;

    var OrderSchema=Schema({

        order_id:String,
        uid:Number,
        trade_no:String,
        all_price:Number,
        all_num:Number    
    })    
    
   return mongoose.model(‘Order‘,OrderSchema,‘order‘);  
    
   
}

controller/order.js

‘use strict‘;

const Controller = require(‘egg‘).Controller;

class OrderController extends Controller {
  async index() {
    
    //实现关联查询


    // var orderResult=await this.ctx.model.Order.find({});


    var orderResult=await this.ctx.model.Order.aggregate([

        {

            $lookup:{
                from:‘order_item‘,
                localField:‘order_id‘,
                foreignField:‘order_id‘,
                as:‘items‘
            }
        },
        {
            $match:{"all_price":{$gte:90}}
        }

    ]);


    this.ctx.body=orderResult;


  }
}

module.exports = OrderController;

 

Egg中使用Mongoose实现数据库表的关联查询

标签:wait   module   lookup   使用   username   mongo   agg   extend   sync   

原文地址:https://www.cnblogs.com/loaderman/p/11570991.html

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!