sequelize.js - recherche par id et le résultat de retour
J'ai une fonction,
var findUserDevice = function(userDeviceId){
var device = db.DeviceUser.find({
where: {
id: userDeviceId
}
}).then(function(device) {
if (!device) {
return 'not find';
}
return device.dataValues;
});
};
mais cette fonction ne retourne rien...
var UserDevice = findUserDevice(req.body.deviceUserId);
console.log(UserDevice);//undefined
OriginalL'auteur Vova Mukovozov | 2015-12-14
Vous devez vous connecter pour publier un commentaire.
L'opération que vous essayez de faire est
async
, ce qui signifie que vous devez utiliser une fonction de rappel. Depuissequelize
est de construire au-dessus de Promesses, en fait, vous devez écrire votre code comme ceci :Et à utiliser plus tard comme :
OriginalL'auteur drinchev
Si vous en avez pas défini, au lieu de ne pas "trouver" dans la console, cela signifie que votre fonction est de retourner une valeur. Le problème est peut-être dataValues est en fait pas défini. Vous devez vérifier le contenu de
device
.Astuce: Essayez de retour juste
device
oudevice.id
PS. Si vous voulez faire la recherche basée sur l'id, devrait aller pour
findById()
fonction de votre modèle.OriginalL'auteur yoogeeks
C'est 2019,
async
&await
deviennent de plus en plus populaire. Vous pouvez modifier votre code pourÀ mon humble avis, le code ci-dessus est beaucoup plus lisible.
OriginalL'auteur Tyler Long
Cette fonction a reçu params id, ce travailleur pour moi:
OriginalL'auteur Diego Santa Cruz Mendezú