Sequelize mengembalikan larik instance
objek di pengguna. Sebuah instance
objek memiliki sejumlah metode kenyamanan yang melekat padanya yang memungkinkan Anda untuk bertindak di atasnya.
Jika Anda hanya ingin mendapatkan data dengan bidang Anda sebagai kunci, gunakan get({plain: true})
. Misalnya, untuk objek pertama dalam larik users[0].get({plain: true})
. Jika Anda ingin tetap menggunakan instance, Anda bisa menggunakan get dengan nama bidang Anda. Misalnya, users[0].get('nombre')
.
Anda juga harus dapat mengakses properti secara langsung pada objek, meskipun tidak dicatat, seperti users[0].nombre
.
Sunting
Ini tidak terkait dengan pertanyaan awal, tetapi komentar Anda pada jawaban lain. Pastikan Anda melakukan sesuatu secara tidak sinkron. Kodenya harus:
usuarioService.getAll = function (cb) {
Usuario.findAll().then(function (users) {
return cb(null, users);
}).catch(function(err) {
return cb(err);
});
}
Kemudian ketika memanggil metode ini Anda akan melakukan sesuatu seperti:
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)
});
});
atau
Karena Sequelize menggunakan janji, melakukan ini menggunakan janji akan menjadi cara terbaik.
usuarioService.getAll = function () {
return Usuario.findAll({ raw: true });
}
Kemudian ketika memanggil metode ini Anda akan melakukan sesuatu seperti:
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
});
});