請問一個找出最大值的語句


  • V

    請找出最大的 menu_id , 目前的寫法必須要查詢兩次, 再比較後才能得出最大值, 如何用一個查詢就找出最大值

    ex: 第一層找出 5 , 第二層找出 120 ,

    data :
    

    {
        "_id" : ObjectId("58b68c3a58576b11a42ff230"),
        "menu_id" : NumberInt(1),
        "subMenu" : [
            {
                "menu_id" : NumberInt(100)
            },
            {
                "menu_id" : NumberInt(14)
            },
            {
                "menu_id" : NumberInt(64)
            }
        ]
    }
    {
        "_id" : ObjectId("58b68c7558576b11a42ff232"),
        "menu_id" : NumberInt(2)  
        "subMenu" : [
            {
                "menu_id" : NumberInt(15)
            },
            {
                "menu_id" : NumberInt(120)
            }
        ]
    }
    {
        "_id" : ObjectId("58b68c9558576b11a42ff234"),
        "menu_id" : NumberInt(5) ,
        "subMenu" : [
        ]
    }



  • Lv 1

    @stlin

    ```

    db.x.aggregate([

        '$project':{ a: '$menu_id', b:{'$max':'$subMenu.menu_id'}}
    },

        '$group':{_id:1, sub1_max: {'$max':'$a'}, sub2_max:{'$max':'$b'}}
    }

    `
    ])

    ```


  • Lv 1

     不錯,  值得收藏


  • 註冊用戶

    蠻特別的需求,先收藏~


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待