#node.js #mongodb #mongoose
#node.js #mongodb #мангуст
Вопрос:
Записи БД
[
_id: 1,
user_id: 1,
project_id: 1,
updatedAt: 2020-12-20
]
[
_id: 2,
user_id: 1,
project_id: 2,
updatedAt: 2020-12-22
]
[
_id: 3,
user_id: 1,
project_id: 3,
updatedAt: 2020-12-21
]
[
_id: 4,
user_id: 2,
project_id: 6,
updatedAt: 2020-12-20
]
[
_id: 5,
user_id: 2,
project_id: 5,
updatedAt: 2020-12-23
]
userproject.aggregate([
{
$match: {
"active":true
}
}, {
$group: {
_id: "$user_id",
updatedAt : { $max : "$updatedAt" }
}
},
{
$sort : { updatedAt: -1 }
},
{
$project: {
"_id": "$_id",
}
}
])
Вот код. мне нужен project_id или последнего обновленного объекта. я использовал $first, $ last, но не получил необходимого результата.
есть ли у кого-нибудь идеи, что я должен добавить, чтобы получить результат.
Конечный результат, что мне нужно
[
[
_id: 1,
project_id: 2
updatedAt: 2020-12-22
],
[
_id: 2,
project_id: 5
updatedAt: 2020-12-23
]
]
_id должен указывать значение user_id, а project_id должен указывать последнее обновление для project_id этого конкретного пользователя, и в конце мне также понадобится updateAt
Комментарии:
1. Какой результат вы получили? И какой результат вы ожидаете получить?
2. @RobertSeaman я просто добавляю больше информации в сообщение, не могли бы вы, пожалуйста, изучить его