利用MongoTemplate查询集合中Array类型数据中多个下标的数据

问题遇到的现象和发生背景

需求:传输设备编号,时间间隔和多个数据下标查询数据,单个Temperature的Array中有11w个温度数据,全部查出来再去取不现实,MongoTemplate中未提供$map和$arrayElemAt的使用方法。

问题相关代码,请勿粘贴截图

代码:利用MongoDB的SQl查询已实现。

db.temperatureAndPic.aggregate([
    {
        $match : {
            number : "3",
            insertDate : {
                $gte:ISODate("2021-11-22T11:10:00Z"),
                $lt:ISODate("2021-11-22T12:09:59Z")
            }
        }
    },
    {
        $project : {
            number : 1,
            insertDate : 1,
            temperature : {
                $map : {
                    input : [0,200,400,500,600],
                    as : "index",
                    in : {
                        $arrayElemAt : ["$temperature", "$$index"]
                    }
                }
            }
        }
    },
    {
        $sort : {
            insertDate:1
        }
    }
]);


运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

查询出来的结果如下图:

img

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。