0
votes

Comment enregistrer le résultat dans une variable de la mangouste () à l'aide de Nodejs

J'essaie de sauvegarder le résultat de la recherche (), mais je n'ai aucune idée de savoir comment enregistrer ce résultat dans une variable. XXX

ci-dessous, je copie le schéma de produit xxx

Le doc est toujours nul et ne reçoit pas la valeur.

en termes généraux, je voudrais obtenir le produit de réponse.findone à utiliser Une autre fonction, appelant par CreateSubscription ()


3 commentaires

Bonjour Nilsonjr, plus de contexte est nécessaire pour aider. Pouvez-vous fournir tout le contenu pertinent? Il serait utile de voir où produit appartient et quel est le schéma .


J'ai mis à jour le code


Duplicatésible possible de Pourquoi pourquoi Ma variable est-elle non altérée après que je la modifie à l'intérieur d'une fonction? - Référence de code asynchrone


3 Réponses :


2
votes

Pour enregistrer le résultat de la recherche () est aussi simple que ceci:

async function createSubscription (req, res, next) {
    var doc = await product.findOne();
    processDoc(doc);
}


0 commentaires

0
votes

La raison est que vous appelez une fonction de rappel, ce qui signifie que la fonction est asynchrone. Il n'ya donc aucune garantie que votre requête s'exécutera et que les valeurs seront définies avant qu'elle ne atteigne,

const createSubscription = async function (params) { 
    try {  return await User.findOne(params)
    } catch(err) { console.log(err) }
}

const doc = createSubscription({"plans.id": product_id})


1 commentaires

np. Si cela résout le problème, marquez-le comme le bon vote ou le vote.



0
votes

Puisque vous voulez interroger quelque chose dans la base de données, cela signifie que vous avez déjà créé un et enregistré quelques données dedans.

Cependant, avant d'enregistrer des données dans la base de données, vous devez créer votre modèle qui doit être créé sous le dossier Modèles dans le produit.js (les noms de modèle doivent démarrer la lettre majuscule de la Convention). Ensuite, vous devez l'importer dans votre page ci-dessus pour y accéder. Vous voulez interroger par produit.Id mais quel identifiant du produit? P>

puisque vous avez req code> dans votre fonction, cela signifie que vous postez quelque chose. Si vous configurez les paramètres appropriés dans App.js, vous devriez pouvoir accéder à req.body code> qui est l'information qui étant affichée par le côté client. P>

app.js // réglage pour analyse (lecture ou accès) Req.body p> xxx pré>

Nous pouvons atteindre req.body.id code> p>

Ceci devrait être votre code: P>

function createSubscription (req, res, next) {
try{
const product=Product.findOne({plan.id:req.body.id})
}
catch(error){console.log(error.message)} //every error object has message property
.
.
}


0 commentaires