эй, у меня есть коллекция:
const conversationSchema = new mongoose.Schema({
messages: [{
date:{
type: Date,
default: Date.now
},
text: String,
sender: String,
}]
});
Я хочу получить 5 объектов из массива сообщений, отсортированных по дате, например 5 новейших сообщений
Я пробовал
const lastMessages = await Conversation.findOne(
{_id: id},
{ messages: { $slice: 5 } }
);
и успешно получили 5 объектов, также
const lastMessage = await Conversation.aggregate([
{ $match: { _id: id } }
]);
, но не получил никакого результата, что-то должно было пойти не так в моем объекте сопоставления
Как это правильно сделать?