[Workshop] Как се сортират въпросите по датата на техните отговори
Здравейте, някой може ли да ми каже как се сортират въпростите по датите на техните отговори?
Това е моята схема на въпросите
var threadSchema = mongoose.Schema({
title: {
type: String,
required: true
},
description: {
type: String,
required: true
},
author: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
},
publishTime: {
type: Date,
default: Date.now
},
answers: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Answer'
}]
})
Благодаря много :)
А имате ли идея защо, предвид, че няма поле lastAnswerDate, а само масив от answer, сортиране с { 'answers.creationDate': -1 } не работи?
Ако имаш :
thread1{ title, description, answers:[ {description:..,creationDate:'2012-05-05 '}, {description:...,creationDate:'2013-05-05 '}, ]
thread2{ title, description, answers:[ {description:..,creationDate:'2014-05-05 '}, {description:...,creationDate:'2015-05-05 '}, ]
Как твоето сортиране ще разбере че трябва да вземе най-новата дата от thread1 и най-новата дата от thread2 ,за да сортира по тези "най-нови дати" thread -овете?.Според мен логиката се губи при това сортиране.Гледах в нета няколко варианта.Примерно може да си добавиш поле lastAnswerDate и масива answer да си остане.Всеки път като добавяш в answer променяш lastAnswerDate на най-новата дата на добавения answer.И сортираш като съм посочил долу.Масива answer си остава и не ти променя твоята логика.