const mongoose = require('mongoose'); const { Schema } = mongoose; mongoose.Promise = global.Promise; mongoose.level = "F"; /** * @typedef {Object} T_Web_Argomenti * @property {bigint} Id * @property {number} IdArgomento * @property {string} Descrizione * @property {Date} DataOra * @property {boolean} Enabled * @property {boolean} EnabledAlFresco */ const T_Web_ArgomentiSchema = new Schema({ IdArgomento: Number, Descrizione: { type: String }, DataOra: Date, Enabled: Boolean, EnabledAlFresco: Boolean }, { collection: 't_web_argomentis' }); const T_Web_Argomenti = module.exports = mongoose.model('T_Web_Argomenti', T_Web_ArgomentiSchema); module.exports.findAllIdApp = async function () { const myfind = {}; const myquery = [ { $sort: { IdTipologia: 1, DataOra: -1 } // ordina per ID e DataOra decrescente }, { $group: { _id: "$IdTipologia", IdTipologia: { $first: "$IdTipologia" }, Descrizione: { $first: "$Descrizione" }, DataOra: { $first: "$DataOra" }, // aggiungi altri campi se servono } }, { $sort: { IdTipologia: 1 } // opzionale, per ordinare il risultato }, { $project: { _id: 0, IdTipologia: 1, Descrizione: 1 } }, ]; const rec = await T_Web_Argomenti.aggregate(myquery); return rec; };