sql >> Database >  >> RDS >> Mysql

findAll() van Sequelize krijgt geen

Sequelize retourneert een array van instance objecten in gebruikers. Een instance object heeft een aantal gemaksmethoden die u in staat stellen ernaar te handelen.

Als u alleen de gegevens wilt krijgen met uw velden als sleutels, gebruikt u get({plain: true}) . Bijvoorbeeld voor het eerste object in de array users[0].get({plain: true}) . Als u de instanties wilt blijven gebruiken, kunt u gewoon get gebruiken met de naam van uw veld. Bijvoorbeeld users[0].get('nombre') .

U zou ook rechtstreeks toegang moeten hebben tot de eigenschappen van het object, zelfs als ze niet worden geregistreerd, zoals users[0].nombre .

Bewerken

Dit heeft niets te maken met de oorspronkelijke vraag, maar met uw opmerking over een ander antwoord. Zorg ervoor dat je dingen asynchroon doet. De code moet zijn:

usuarioService.getAll = function (cb) {
    Usuario.findAll().then(function (users) {
        return cb(null, users);
    }).catch(function(err) {
        return cb(err);
    });
}

Als je deze methode aanroept, zou je zoiets doen als:

router.get('your_path', function(req, res, next) {
    serv.getAll(function(err, users) {
        if (err) {
            // your err handling code
        }
        // users is now a valid js array
        // could send it in res.json(users)
    });
});

of

Aangezien Sequelize beloften gebruikt, zou dit de beste manier zijn om dit te doen met beloften.

usuarioService.getAll = function () {
    return Usuario.findAll({ raw: true });
}

Als je deze methode aanroept, zou je zoiets doen als:

router.get('your_path', function(req, res, next) {
    serv.getAll().then(function(users) {
        res.render('usuarios/index',{
            users: users
        })
    }).catch(function(err) {
        // your error handling code here
    });
});


  1. Hoe Ruby regex specificeren bij gebruik van Active Record in Rails?

  2. Hoe bool naar int te converteren in MySql

  3. Bind matrixparameter aan native query

  4. geef gegevens door van mySQL naar een api in Flask