Если есть данные, как это:MongoDB: агрегирование - группа состояние, если не пустой
{
user: "max",
uploaded: <timestamp>,
updated: <timestamp>
}
{
user: "tim",
uploaded: <timestamp>
}
Ever пользователь может иметь различные элементы. Сейчас я использую структуру агрегации MongoDB с $ матча + $ группы, как это:
aggregate([
{ $match: {"username": "foouser"}},
{ $group: {
...other items..
"last_active": max(updated) OR IF EMPTY max(uploaded)
}
]);
Я хочу, чтобы установить «last_active» к максимальной временной метке обновляется, чтобы получить последний активный из пользователя по всем его пунктам. Но не каждый элемент имеет свойство update-property. Возможно, есть свойство update-property в любом элементе пользователя. Поэтому, если max (обновлено) пуст, он должен выбрать max (загружен).
Может ли кто-нибудь помочь мне с этим условием в групповом порядке?
Спасибо! $ setUnion не поддерживается в моей версии mongo-db, но он отлично работает с $ ifNull! – mdunisch