no update fechas
Signed-off-by: Omar Sánchez Pizarro <omar.sanchez@pistacero.net>
This commit is contained in:
@@ -97,7 +97,9 @@ async function createIndexes() {
|
||||
await db.collection('articles').createIndex({ 'user_info.username': 1 });
|
||||
await db.collection('articles').createIndex({ 'user_info.worker_name': 1 });
|
||||
await db.collection('articles').createIndex({ 'user_info.is_favorite': 1 });
|
||||
await db.collection('articles').createIndex({ 'user_info.notified_at': -1 });
|
||||
// Índices para ordenamiento (NO usar user_info.notified_at porque es un array)
|
||||
await db.collection('articles').createIndex({ createdAt: -1 });
|
||||
await db.collection('articles').createIndex({ modified_at: -1 });
|
||||
await db.collection('articles').createIndex({ expiresAt: 1 }, { expireAfterSeconds: 0 });
|
||||
// Índices de compatibilidad con estructura antigua
|
||||
await db.collection('articles').createIndex({ username: 1 });
|
||||
@@ -250,9 +252,11 @@ export async function getNotifiedArticles(filter = {}) {
|
||||
query['user_info.worker_name'] = filter.worker_name;
|
||||
}
|
||||
|
||||
// Ordenar SOLO por campos a nivel de artículo, NO por user_info.notified_at
|
||||
// porque user_info es un array y puede causar orden incorrecto
|
||||
const articles = await articlesCollection
|
||||
.find(query)
|
||||
.sort({ 'user_info.notified_at': -1, createdAt: -1 })
|
||||
.sort({ createdAt: -1, modified_at: -1 })
|
||||
.toArray();
|
||||
|
||||
// Filtrar y transformar artículos según el usuario solicitado
|
||||
|
||||
Reference in New Issue
Block a user