zoukankan      html  css  js  c++  java
  • mongo 联表查询

    查询语句

    db.getCollection("A表").aggregate([
    {
    $lookup:{
    from:"B表",
    localField:"A_id",
    foreignField:"B_id",
    as:"B_list"
    }
    },
    {
    $match:{ A_id:{$eq:100000} }
    },
    {
    $project:{"A_id":1,"B_list":{"B_id":1 }}
    }
    ])

    查询结果

    {
    "A_id" : NumberInt(100000),
    "B_list" :
    {
    "B_id" : NumberInt(100000)
    }
    }

    -----------------------------------------------------

    $lookup 参数说明

    from 需要关联的表名(B表)
    localField A表 需要关联的键
    foreignField B表需要关联的键
    as B表的数据取个别名


    $match 查询条件 相当于where的作用

    A_id:{$eq:100000} 意思是 A_id=100000


    $project 决定要显示的字段 相当于select 的作用
    "A_id":1 显示 A_id字段
    "A_id":0 不显示 A_id字段

    提醒:显示或不显示,需要统一设置,不能交叉使用。
    比如: $project:{"A_id":1,"B_list":{"B_id":0 }} 就会报错

    ------------------------------------
    特别注意:
    1 只能两个表联合查询
    2 不能跨库联合

  • 相关阅读:
    20210519日报
    20210518日报
    20210517日报
    20210514日报
    20210513日报
    20210512日报
    20210511日报
    数据挖掘提分三板斧-转
    特征变量和y值的可视化
    kaggle 2015年航班延误
  • 原文地址:https://www.cnblogs.com/xiaonanmu/p/10558931.html
Copyright © 2011-2022 走看看