zoukankan      html  css  js  c++  java
  • Egg中使用Mongoose实现数据库表的关联查询

    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;
  • 相关阅读:
    面向对象之补充
    继续面向对象之成员与组合
    面向对象初阶
    模块和包
    异常处理
    [Array]448. Find All Numbers Disappeared in an Array
    [Array]485. Max Consecutive Ones
    [Array] 561. Array Partition I
    [Array] 566. Reshape the Matrix
    opencv3.1线性可分svm例子及函数分析
  • 原文地址:https://www.cnblogs.com/loaderman/p/11570991.html
Copyright © 2011-2022 走看看