MongoDB 2.4“的大小$addToSet";结果
我有一个MongoDB 2.4的聚合查询(我们不能使用其他版本:()) 在某一点上,我需要在组中创建的集合的大小或计数:MongoDB 2.4“的大小$addToSet";结果,mongodb,Mongodb,我有一个MongoDB 2.4的聚合查询(我们不能使用其他版本:()) 在某一点上,我需要在组中创建的集合的大小或计数: { $group: { _id: { type: '$type', week: '$week', day: '$day', year: '$year', hour: '$hour' }, minutes
{
$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的困境,从而妨碍了灵活性。