thinkphp 使用 mongodb 多表查询

直接上代码吧

   public function t()
    {
        $cmd = [
            'aggregate'=>'001_users_gemcases',            //主表
            'pipeline'=>[
                [
                    '$lookup'=>[
                        'from' => '001_users',            //关联表
                        'localField' => 'userId',         //主表关联字段
                        'foreignField' => 'userId',       //副表关联字段
                        'as'=>'joinData', //数据集名称
                    ],
                ],
                // [
                //     '$match'=>[],  // 条件 聚合函数 等
                // ],
                [
                    '$sort'=>[
                        'Id' => -1,  //按照某些字段排序 ,-1倒叙,1正序 
                    ],
                ],
                // [
                //     '$skip'=>$skip,        //跳过钱多少条 分页
                // ],
                [
                    '$limit'=>3,
                ],
 
            ],
            'cursor' => new \stdClass,
            'explain'=>false,
 
        ];

        $command = new \MongoDB\Driver\Command($cmd);

        $cursor = $this->manager->executeCommand('moba_game', $command)->toArray();
 
        foreach ($cursor as $key => $val){

            var_dump($val->joinData);

        }
}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值