Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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 2.4“的大小$addToSet";结果_Mongodb - Fatal编程技术网

MongoDB 2.4“的大小$addToSet";结果

MongoDB 2.4“的大小$addToSet";结果,mongodb,Mongodb,我有一个MongoDB 2.4的聚合查询(我们不能使用其他版本:()) 在某一点上,我需要在组中创建的集合的大小或计数: { $group: { _id: { type: '$type', week: '$week', day: '$day', year: '$year', hour: '$hour' }, minutes

我有一个MongoDB 2.4的聚合查询(我们不能使用其他版本:())

在某一点上,我需要在组中创建的集合的大小或计数:

{
    $group: {
        _id: {
            type: '$type',
            week: '$week',
            day: '$day',
            year: '$year',
            hour: '$hour'
        },
        minutes: { 
            $addToSet: "$minutes"
        },
        sum_online: {
            $sum: "$online" 
        },
        sum_offline: {
            $sum: "$offline" 
        },
        sum_expired: {
            $sum: "$expired" 
        },
        min_date: {
            $min: "$date" 
        },
        max_date: { 
            $max: "$date" 
        }
    }
},
{
    $project: {
        day: "$_id.day",
        week: "$_id.week",
        year: "$_id.year",
        type: "$_id.type",
        hour: "$_id.hour",
        measurements: { $size: "$minutes" },
        sum_online: "$sum_online",
        sum_offline: "$sum_offline",
        sum_expired: "$sum_expired",
        min_date: "$min_date",
        max_date: "$max_date"
    }
},
这是关于“分钟”的。addToSet的结果将是:

[
    0,
    10,
    20,
    30,
    40,
    50
]
这是六个项目,我需要投影中设置的大小,但2.4版没有可以使用的$size函数。
measurements:{$size:$minutes},
不起作用。我得到以下错误:

Thu Feb 18 12:50:03.214 aggregate failed: {
"errmsg" : "exception: invalid operator '$size'",
"code" : 15999,
"ok" : 0

有人知道获取该集合大小的方法吗?

是。
$unwind
结果数组和
{“$sum”:1}
在另一个小组中进行统计。MongoDB 2.4现在已经有好几年的历史了,对于像MongoDB这样的年轻和不断发展的产品来说,保留这样的旧版本真的不是一个好主意。在当前的3.2.x版本中,目前唯一的后移植是2.6.x系列。因此,2.4.x中存在的问题和功能缺失这有点像要求人们支持Oracle 6可能的副本。这意味着在引入
$size
之前要注意所有旧的答案。至少有一些答案可以追溯到MongoDB 2.0.x。谢谢!我会尝试使用unwind。我知道使用这样的旧版本是个坏主意。我们重新使用阻止灵活性的企业sla。是。
$unwind
结果数组和
{“$sum”:1}
在另一个小组中进行统计。MongoDB 2.4现在已经有好几年的历史了,对于像MongoDB这样的年轻和不断发展的产品来说,保留这样的旧版本真的不是一个好主意。在当前的3.2.x版本中,目前唯一的后移植是2.6.x系列。因此,2.4.x中存在的问题和功能缺失这有点像要求人们支持Oracle 6可能的副本。这意味着在引入
$size
之前要注意所有旧的答案。至少有一些答案可以追溯到MongoDB 2.0.x。谢谢!我会尝试使用unwind。我知道使用这样的旧版本是个坏主意。我们重新陷入企业sla的困境,从而妨碍了灵活性。