Sono nuovo su Node.js/Sequelize.js. Ho seguente pezzo di codice per query:Ottieni set di risultati da query senza informazioni metriche Sequenza
var agent_list = models.agent.findAll({
subQuery: false,
where: qry_filter,
attributes: select_attributes,
include:include_models,
group: ['agent_id'],
order: agent_data.sort || appConfig.DEFAULT_AGENT_SORT,
limit: agent_data.num_results || appConfig.DEFAULT_RESPONSE_SIZE
})
.then(function(agent_list){
console.log(agent_list);
});
L'affermazione "console.log (agent_list)" la stampa dei dati recuperati dal db più il meta-informazioni come le opzioni: {...}, modelOptions: {.. .} ecc. L'oggetto dataValues contiene i dati che voglio. Il set di risultati è oggetti js annidati, ognuno ha la stessa struttura, quindi sarebbe molto difficile eseguire il ciclo di loop del set di risultati e ottenere solo i valori dei dati.
Ho esperienza di lavoro con PHP in cui qualcosa di simile $ db -> Esegui ("$ qry") sarebbero tornati di risultati con meta e per ottenere le righe $ db -> Esegui ("$ qry") -> getRows() può essere utilizzato. Come ottenere questo in sequenza?
Ho implementato la soluzione con un po 'di modifica. '(funzione (agent_list) { agent_list.map (funzione (agente) { console.log (agent.getValues ()); });});' Funziona alla grande. Esattamente quello di cui avevo bisogno. –
Bene, se vuoi solo registrarli forse dovresti prendere in considerazione l'uso di forEach. La funzione mappa in realtà si aspetta che tu restituisca qualcosa come risultato dell'operazione della mappa –