Mysql
 sql >> Baza danych >  >> RDS >> Mysql

findAll() z Sequelize nie otrzymuje

Sequelize zwraca tablicę instance obiekty w użytkownikach. instance obiekt ma wiele wygodnych metod, które pozwalają na działanie na nim.

Jeśli chcesz uzyskać tylko dane z polami jako kluczami, użyj get({plain: true}) . Na przykład dla pierwszego obiektu w tablicy users[0].get({plain: true}) . Jeśli chcesz nadal korzystać z instancji, możesz po prostu użyć get z nazwą swojego pola. Na przykład users[0].get('nombre') .

Powinieneś także mieć dostęp do właściwości bezpośrednio w obiekcie, nawet jeśli nie są one rejestrowane, na przykład users[0].nombre .

Edytuj

Nie jest to związane z pierwotnym pytaniem, ale z twoim komentarzem do innej odpowiedzi. Upewnij się, że robisz rzeczy asynchronicznie. Kod powinien wyglądać następująco:

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

Następnie, wywołując tę ​​metodę, zrobiłbyś coś takiego:

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)
    });
});

lub

Ponieważ Sequelize używa obietnic, najlepszym sposobem byłoby zrobienie tego za pomocą obietnic.

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

Następnie, wywołując tę ​​metodę, zrobiłbyś coś takiego:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać pola według nazwy w zapytaniu Python?

  2. Jak wybrać dwie dodatkowe kolumny z innej tabeli na podstawie wartości w tabeli głównej?

  3. Maksymalna długość tekstu typu MySQL

  4. Przykłady ORD() – MySQL

  5. MYSQL niepoprawny format DATETIME