0
votes

Mangoose.create ajoute à la base de données mais attrape toujours une erreur

J'essaie de créer une API reposante pour les produits pour effectuer des opérations de crud. La base de données que j'utilise est mongodb et j'utilise Mongoose avec Express pour accéder aux données. Lorsque j'essaie de créer un produit, il ajoute le produit à la base de données et je souhaite envoyer les informations de données créées à l'utilisateur, mais elle envoie les données du bloc de capture et une erreur affichée est null.

mon schéma < Pré> xxx

Point d'extrémité pour la création d'un produit xxx

la sortie de la console xxx

je m'attends La sortie doit être xxx

la sortie que je reçois est xxx

Qu'est-ce que je fais mal? < / p>


2 commentaires

Quelle est votre sortie de console de RES?


@Mdalamin j'ai édité le message pour ajouter une sortie de console


3 Réponses :


0
votes

C'est probablement le nom du produit et le prix est vide. Vous les définissez comme champs requis:

    let prodname = req.body.name || 'sample product'
    let price = req.body.price || '20'


1 commentaires

J'envoie le nom et le prix du produit et lorsque je vérifie tous les produits de mon produit local, le produit a été ajouté en fonction de ce nom et de ce prix



1
votes

Le problème est que vous utilisez res code> comme variable de réponse dans la fonction externe et la fonction interne

Vous pouvez simplement le faire. P>

app.post("/addprod" ,(req,res) => { 
   let prodname = req.body.name 
   let price = req.body.price
   product.create({ 
      "_id" : mongoose.Types.ObjectId(), 
      "name" : prodname, 
      "price":price 
   }).then(item => {
         res.send(item);
   }).catch(err => {
         res.send(err);
   });
});


0 commentaires

0
votes

Si vous souhaitez utiliser JSON pour envoyer une réponse ... vous pouvez faire comme ça ( le plus court et le plus formaté ) xxx


0 commentaires