2016-09-14 4 views
0

私はNode MongoDBとExpressで作業しています。 API呼び出しからJSONを受け取り、それをDBに渡そうとしています。おそらく僧侶をフォーマットしようとしているDBにそれを作っているが、任意のネストされた配列は、その構造を失っている、そのような構造になってさ...MongoDBへの投稿時にフォーマットが失われたネストされた配列

"nutritionEstimates[0][attribute]" : "FAT_KCAL", 
    "nutritionEstimates[0][description]" : "", 
    "nutritionEstimates[0][value]" : "310", 
    "nutritionEstimates[0][unit][id]" : "fea252f8-9888-4365-b005-e2c63ed3a776", 
    "nutritionEstimates[0][unit][name]" : "calorie", 
    "nutritionEstimates[0][unit][abbreviation]" : "kcal", 
    "nutritionEstimates[0][unit][plural]" : "calories", 
    "nutritionEstimates[0][unit][pluralAbbreviation]" : "kcal", 
    "nutritionEstimates[0][unit][decimal]" : "true", 
    "nutritionEstimates[1][attribute]" : "CAFFN", 
    "nutritionEstimates[1][description]" : "Caffeine", 
    "nutritionEstimates[1][value]" : "0.03", 
    "nutritionEstimates[1][unit][id]" : "12485d26-6e69-102c-9a8a-0030485841f8", 
    "nutritionEstimates[1][unit][name]" : "gram", 
    "nutritionEstimates[1][unit][abbreviation]" : "g", 
    "nutritionEstimates[1][unit][plural]" : "grams", 
    "nutritionEstimates[1][unit][pluralAbbreviation]" : "grams", 
    "nutritionEstimates[1][unit][decimal]" : "true", 

私はこれを引き起こしていただきました!特に知らないが、私は疑いますJSON、それは文字列として渡そうとすると、データはまったく渡されません。参照のために私のコードのいくつかを従う。アプリIDとキーが削除されました。

function saveRecipe(event){ 
    event.preventDefault(); 
    var recipeUrl = 'http://api.yummly.com/v1/api/recipe/' + this.value + '?_app_id=&_app_key='; 
    var json = $.getJSON(recipeUrl, function (data){ 
    console.log(JSON.stringify(data)); 
    $.ajax({ 
     type: 'POST', 
     data: data, 
     url: '/saverecipe', 
     dataType: 'JSON' 
    }); 
}); 
}; 

そして、私のapp.jsの開始

var express = require('express'); 
var path = require('path'); 
var favicon = require('serve-favicon'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 
var mongo = require('mongodb'); 
var monk = require('monk'); 
var db = monk('localhost:27017/favorite-recipes') 

var routes = require('./routes/index'); 

var app = express(); 

私は誰にも提供することができます任意の洞察力に感謝。

答えて

0

それは、bodyParserオプション "extended"でした。これはfalseに設定され、複雑なオブジェクトを許可しませんでした。このオプションを削除すると、すべての問題が解決されました。

関連する問題