Я использую официальный драйвер MongoDB для Node.js.
И вот как структурируются данные моего сообщения.Как видите, у каждого сообщения есть метка времени, идентификатор пользователя и идентификатор темы.
[
{
"_id" : ObjectId("5b0abb48b20c1b4b92365145"),
"topicId" : "XN7iqmCFD4jpgJZ6f",
"timestamp" : 1527429960,
"user" : "5b0869636f4e363e300d105a",
"content" : "lorem ipsum"
}
]
Теперь мне нужно проверить, есть ли темы, которых нет в последнем сообщении (= самая высокая метка времени)соответствовать моему собственному идентификатору.После этого я знаю, на какую тему есть новый ответ (это не мой собственный пост).
Итак, я начал с этого:
db.messages.find({
$query: {
user: { $ne: "myUserId" }
},
$orderby: {
timestamp: -1
}
}).limit(1).toArray()
Моя проблема в том, что я не знаюкак сгруппировать мой запрос по topicId.И почему-то, похоже, в моей попытке неправильный синтаксис.