В процессе агрегации я получил эти данные:Аналог группы CONCAT в SQL
{
"_id" : "billing/DefaultController/actionIndex",
"min_time" : 0.033,
"max_time" : 5.25,
"exec_time" : 555.490999999997,
"qt" : 9059,
"count" : 2,
"date" : [
ISODate("2014-02-10T00:00:00.000Z"),
ISODate("2014-02-11T00:00:00.000Z")
]
},
Как изменить мой запрос:
db.page_speed_reduced.aggregate([
{$group: {
_id: "$value.route",
min_time: {$min: "$value.min_time"},
max_time: {$max: "$value.max_time"},
exec_time: {$sum: "$value.exec_time"},
qt: {$sum: "$value.qt"},
count: {$sum: NumberInt(1)},
date: {$push: "$_id.date"},
}}
]);
для получения "дата $", как сцепляются строка:
2014-02-10, 2014-02-11
UPDATE:
Я попробовал этот вариант, но MongoDB генерируется сообщение об ошибке:
db.page_speed_reduced.aggregate([
{$group: {
_id: "$value.route",
min_time: {$min: "$value.min_time"},
max_time: {$max: "$value.max_time"},
exec_time: {$sum: "$value.exec_time"},
qt: {$sum: "$value.qt"},
count: {$sum: NumberInt(1)},
date: {$push: "test sting"},
}},
{$project: {
'date': {$concat: ['$date']}
//'date': {$concat: '$date'} //some error
}}
]);
uncaught exception: aggregate failed: {
"errmsg" : "exception: $concat only supports strings, not Array",
"code" : 16702,
"ok" : 0
}
'date': {$concat: '$date'}
Вы пытаетесь получить «набор» сокращенных дат, как только один день, нажали на массив, сгруппированный по '_id' ваших исходных документов? Просто убедитесь, что это то, что вы хотите. –
Или вы хотите «подвести» эти даты? Мы не уверены, поскольку вы также ссылаетесь на поля, не указанные в вашем документе. –