Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 将mongo$slice运算符与其他运算符一起使用_Mongodb_Mongodb Query_Aggregation Framework - Fatal编程技术网

Mongodb 将mongo$slice运算符与其他运算符一起使用

Mongodb 将mongo$slice运算符与其他运算符一起使用,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我下面有类似的东西 样本文件 { series: [ { scores: { value: 10 } } ] } $project: { x: { $slice: ['$series', -1] } } }, { $project: { x: { scores: 1 } } } 因此,从序列数组中,我想要最后一个成员对象,然后我只想要从该数组中归档的分数。实际上是得分,但也不确定如何获得。 是否有方法将这些对象组合在一起?您使用了错误的运算符返回数

我下面有类似的东西

样本文件

{
    series: [
        { scores: { value: 10 } }
    ]
}



$project: {
    x: { $slice: ['$series', -1] } }
},
{ $project: { x: { scores: 1 } } }
因此,从序列数组中,我想要最后一个成员对象,然后我只想要从该数组中归档的分数。实际上是得分,但也不确定如何获得。
是否有方法将这些对象组合在一起?

您使用了错误的运算符返回数组中的最后一个对象。您需要保存文档并使用返回最后一个对象,您可以使用variable运算符将其设置为变量,然后使用寻址“value”字段


使用错误的运算符返回数组中的最后一个对象。您需要保存文档并使用返回最后一个对象,您可以使用variable运算符将其设置为变量,然后使用寻址“value”字段

db.collection.aggregate(
    [
        { "$project": {
            "value": { 
                "$let": { 
                    "vars": { "score": { "$arrayElemAt": [ "$series", -1 ] } },
                    "in": "$$score.value" 
                }
            }
        }}
    ]
)