Mongo多表关联的子查询

用于手机号条件过滤后手机号关联再进行子查询条件平台为今日头条:

db.getCollection("robot_account_port_info").aggregate(
    [
        
        {
            //        查询条件为端口信号存在的
            "$match": {
                "port_sign": 1
            }
        },
        {
            //把另一张表【account】与用本地的手机号进行关联
            "$lookup": 
            
            {
                "from": "account",
                "localField": "phone",
                "foreignField": "phone_num",
                "as": "inventory_docs"
            }
        },
        {
            //查处满足条件的子文档
            "$unwind": "$inventory_docs"
        },
        {
            //这儿是将子文档展示出来,否则查处的结果满足子文档的其中之一,子文档的值都会显示出来
            "$match": {
                "inventory_docs.platform": "今日头条"
            }
        },
        
    ]
)

 

posted @ 2021-10-26 13:23  BruceLong  阅读(494)  评论(0编辑  收藏  举报