Egg中使用Mongoose实现数据库表的关联查询
Posted loaderman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
以上是关于Egg中使用Mongoose实现数据库表的关联查询的主要内容,如果未能解决你的问题,请参考以下文章
Egg中使用egg-mongoose和常用的Mongoose 方法
Egg中使用egg-mongoose和常用的Mongoose 方法
Egg 中使用 Mongoose 以及 Egg 中的 model