Je me demandais si quelqu'un pouvait me montrer comment obtenir une valeur de chaîne de mongodb et la stocker dans une variable.Stocker les données de MongoDB dans variable - mongoose et node.js
db.model("users").findOne({username: username, password: password}, {type:1},
function(err, data) {
if(err) {
return "Error";
} else if() {
return "No records";
} else {
return data.type;
}
}
);
Je reçois la valeur de type lorsque je l'exécute. Mais comment puis-je stocker cela dans une variable en dehors de cette fonction?
Le problème est que j'ai un fichier Server.js qui appelle la fonction getUserType dans le fichier Database.js. La chose est que je ne sais pas comment obtenir la valeur de base de données.js à server.js. – chris
Vous devez passer une fonction de rappel dans 'findOne' à partir de Server.js directement. Il est difficile de passer des variables autour de la façon dont vous suggérez que MongoDB n'est pas synchrone. Je suggère de ne pas encapsuler 'findOne' dans database.js, car MongoDB était basé sur la meilleure pratique pour traiter les callbacks (c'est-à-dire que vous passez un callback dans' findOne' à l'endroit exact où il est appelé). Cela dit, vous pouvez toujours boucler un callback en encapsulant et en passant le callback dans database.js. Cela a-t-il du sens? – ghayes
il fait: D Je vais juste mettre la fonction findOne dans le serveur et l'exécuter comme ça. Je pensais juste que je séparerais de base de données avec le serveur afin que tout semble un peu ordonné. – chris