2017-09-12 1 views
0

j'ai la fonction suivante aux ingrédients insérer:objet objet au lieu de chaîne en poussant dans un tableau mangouste

router.post('/api/recipes/ingredient/post', function (req, res) { 
    console.log('before for'); 
    var names = req.body.ing_name; 
    var amounts = req.body.ing_amount; 
    for (var i = 0; i < names.length; i++) { 
     var ingredientItem = {ingredient_name: names[i].toString(), amount: amounts[i].toString()}; 
     Recipe.update({name: req.body.name}, 
      {$push: {"ingredients": ingredientItem}}, 
      function (err, res) { 
       if (err) { 
        console.log(err) 
        console.log("ERROR OCCURRED, COULD NOT SAVE USER IN DATABASE"); 
       } 
       else { 
        console.log("USER SUCCESSFULLY MODIFIED IN DATABASE"); 
       } 
      }); 
    } 
}); 

mais dans la collecte, il finit par être:

"ingredients" : [ 
     [ 
      { 
       "_id" : ObjectId("59b8726b4de01a2958511871"), 
       "amount" : "[object Object]", 
       "ingredient_name" : "[object Object]" 
      } 
     ], 
     [ 
      { 
       "_id" : ObjectId("59b8726b4de01a2958511872"), 
       "amount" : "[object Object]", 
       "ingredient_name" : "[object Object]" 
      } 
     ] 
    ] 

i court d'idées comment arranger, peut-être que quelqu'un aurait une idée? Quand je fais typeof sur les noms [i] .toString par exemple avant de le pousser a le type de chaîne

+0

Qu'est-ce que vous obtenez lorsque vous journal de la console 'noms [i] .toString()' – Gardezi

+0

cet objet qui fait l'objet thingy encore moins de sens pour moi maintenant – Phantasma

+0

bien alors ce n'est pas un problème d'insertion, le problème est ailleurs. Maintenant, veuillez consoler le nom de '' '[i]' et coller le résultat afin que je puisse voir ce qui est converti en chaîne – Gardezi

Répondre

0

Vous êtes face à ce problème parce que vous essayez de convertir un objet en chaîne en raison de laquelle une chaîne comme celle-ci montre "[object Object]" .

Vous devez obtenir le ingr_name de l'objet comme vous l'avez dit dans les commentaires ci-dessus. Ainsi, plutôt que de convertir l'objet entier en chaîne extraire le ingr_name de l'objet comme celui-ci

names->ingr_name