Mongodb的aggregate应用之前已经说过了。

可以参考day06

Mongoose的aggregate函数应用

var mongoose=require('./db.js');
var OrderSchema=mongoose.Schema({
  order_id:String,
  uid:Number,
  trade_no:String,
  all_price:Number,
  all_num:Number
})
var OrderModel=mongoose.model('Order',OrderSchema,'order');
OrderModel.aggregate([
{
  $lookup:{
  from:'order_item',
  localField:"order_id",
  foreignField:"order_id",
  as:"item"
  }
}],function(err,docs){
    console.log(docs)
});
/*查询order_item,找出商品名称是酸奶的商品,酸奶这个商品对应的订单的订单号以及订单的总价格*/

var OrderItemModel=require('./model/order_item.js');

var OrderModel=require('./model/order.js');

var mongoose=require('mongoose');

//第一种实现方式
/*
OrderItemModel.find({"_id":"5b743da92c327f8d1b360546"},function(err,docs){ // console.log(docs); var order_item=JSON.parse(JSON.stringify(docs)); var order_id=order_item[0].order_id; OrderModel.find({"order_id":order_id},function(err,order){ // console.log(order); order_item[0].order_info=order[0]; console.log(order_item)
})
}) */ //第二种方式 //mongoose中获取ObjectId mongoose.Types.ObjectId OrderItemModel.aggregate([ {
$lookup:
{
from: "order",
localField: "order_id",
foreignField: "order_id",
as: "order_info"
}
},{
$match:{_id: mongoose.Types.ObjectId('5b743da92c327f8d1b360546')} } ],function(err,docs){ if(err){ console.log(err)
return;
} console.log(JSON.stringify(docs)) })

MongoDB学习day09--Mongoose aggregate 多表关联查询的更多相关文章

  1. Mongoose 两个表关联查询aggregate 以及 Mongoose中获取ObjectId

    Mongoose 两个表关联查询aggregate 通常两个表关联查询的时候,是一种一对多的关系,比如订单与订单详情就是一对多的关系,一个订单下面有多个商品 数据模拟 首先我们先将数据模拟出来,先选择 ...

  2. mongodb操作之使用javaScript实现多表关联查询

    一.数据控制 mongodb操作数据量控制,千万控制好,不要因为操作的数据量过多而导致失败. 演示一下发生此类错误的错误提示:

  3. MyBatis学习总结(三)——多表关联查询与动态SQL

    在上一章中我们学习了<MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射>,这一章主要是介绍一对一关联查询.一对多关联查询与动态SQL等内容. 一.多表关联查询 表与 ...

  4. 【转载】salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解

    salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解   建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schem ...

  5. ofbiz学习笔记01--多表关联查询

    不管做什么项目,肯定会用到多表关联查询数据,从网络查询得知ofbiz有三种多表关联查询方法 实现一:Screem.xml 中的 section 里,加 <action>, 加 get-re ...

  6. 图解SQL多表关联查询

      图解SQL多表关联查询     网上看了篇文章关于多表连接的,感觉很好,记录下来,以便日后自己学习  内连接     左连接     右连接       全外连接   1. 查两表关联列相等的数据 ...

  7. 多表关联查询(ORACLE版)

    前言:这几天学习oracle,把自己对于关联查询的理解,记录下.如有错误请指正! 交叉连接: 交欢连接又称为“笛卡儿积连接”,是两个或多个表之间的无条件连接.一个表中所有的记录与其它表的所有的记录进行 ...

  8. oracle02--多表关联查询

    1. 多表(关联)查询 多表查询也称之为关联查询.多表关联查询等,主要是指通过多个表的关联来获取数据的一种方式. 1.1. 多表映射关系 一对多:A表的一行数据,对应B表中的多条.如:一个部门可以对应 ...

  9. Mybatis-plus多表关联查询,多表分页查询

    学习plus真的觉得写代码真的越来越舒服了.昨天开始接触吧,只要学会了多表关联查询.plus就能随意搭配使用了. 关于怎么搭建的就自行了去研究了哦.这里直接进入主题. 我用的是springboot+m ...

随机推荐

  1. 给Sublime Text3 设置自定义快捷键

    Preferrences -> Key Bindings-User打开用户自定义快捷键文件,添加以下代码,保存. [ { "keys": ["ctrl+shift+ ...

  2. react 的CDN 连接

    以下内容均摘抄自react官网 React 和 ReactDOM 都可以在 CDN 上获得. <script crossorigin src="https://unpkg.com/re ...

  3. vue 自定义组件 v-model双向绑定、 父子组件同步通信【转】

    父子组件通信,都是单项的,很多时候需要双向通信.方法如下: 1.父组件使用:msg.sync="aa"  子组件使用$emit('update:msg', 'msg改变后的值xxx ...

  4. 【洛谷2019 OI春令营】期中考试

    T68402 扫雷 题目链接:传送门 题目描述 扫雷,是一款单人的计算机游戏.游戏目标是找出所有没有地雷的方格,完成游戏:要是按了有地雷的方格,游戏失败.现在 Bob 正在玩扫雷游戏,你作为裁判要判断 ...

  5. idea java 注释模板配置

    在网上找了好久,好多的文章都有一个共同的病点就是“@param注释当有多个参数时候,全部放在了一行里面”,非常不友好. 以下是我整理好的,完全按照eclipse的注释风格. !!!先看最后实现的效果图 ...

  6. Java会话(session)管理

    会话概述 什么是会话 简单的理解:用户打开浏览器,点击多个超链接,访问Web服务器上多个资源,然后关闭浏览器,整个过程称之为一次会话. 需要解决的问题 每个用户在使用浏览器与服务器会话的过程中,会产生 ...

  7. Mysql+MHA高可用集群

    http://www.ttlsa.com/mysql/step-one-by-one-deploy-mysql-mha-cluster/

  8. Mysql中max函数取得的值不是最大

    ①问题:遇到一个很有意思的问题,这里记录一下, 就是在使用max函数的时候发现取得的最大值其实不是最大值. 比如: 某一列中有10000000,和9999999, 其最大值应该是10000000但是查 ...

  9. soc desgin 目前需要做的事情

    1.熟练的画时序图 达到一旦有想法可以立即通过时序图表达出来. 2.下面是项目中经常用到的典型设计 2.1串并互相转换 2.2cdc 2.3握手协议 2.4cgc(门控时钟) 2.5AHB2reg文件 ...

  10. Java:Md5加密

    文章来源:https://www.cnblogs.com/hello-tl/p/9139334.html import java.security.MessageDigest; public clas ...