2016-09-10 12 views
1

それは私がはPOSTノードAPIの入力としてJSON配列を受け入れる - エクスプレス

exports.findByItemIds = function(req, res) { 
    var id = req.body; 
    var idsProjects = id['items']; 
    console.log(idsProjects); 
    db.collection(collection, function(err, collection) { 

     if (err) { 
      throw err; 
      console.log("error"); 
     } else { 
      collection.find({'item_id': {$in:idsProjects}}).toArray(function(err, item){     
       res.send(item); 
      }); 
     } 
    }); 
}; 

側 - サーバー上で次のことをやっていると私は使用して

POST /itemsbyids HTTP/1.1 
Host: localhost:3000 
Content-Type: application/json 
Cache-Control: no-cache 
Postman-Token: 440972dc-e534-051f-a2a5-5bdaaf2da73a 
{"items":["1243","948"]} 

を送っていますかなり簡単な質問、 する必要がありますconsole.log(idsProjects)私は今、私は$で配列として渡すことができますどのように

["1243","948"] 

を印刷することができる午前:idsPro質問MongoDbを呼び出すjects?

は今のところ、それは私が私のMongoDBのフィールドitem_idが故に、整数型であることを学んだ Unexpected token, at Object.Parse(native)エラー

ソリューション

を与え、私は["323","54234"]のように配列を渡すされたとき、それは私に何も結果を与えていませんでした。
[323,54234]を入力として渡しても結果はわかりました。 JSON配列を受け入れるためのスニペットはすべて問題ありませんでした。

+2

ノードとエクスプレスバージョンは何ですか?ノード6.5とエクスプレス4で私にとってうまく動作します。 – notionquest

+0

私のノードのバージョンは4.5.0であり、expressは3.21.2です。私が直面している問題は、Mongoからデータをフェッチしていないことです。フォームデータとしてデータを渡すときにうまく動作していましたが、 'application/json' – Darpan

+0

無効なHTTP要求はあまりにも気を散らしています。私はその質問に集中することはできません。 – noisypixy

答えて

0

console.logの出力が不正であり、idsProjectが実際に配列ではない可能性はありますか?おそらくinspectと出力してみてください。また、チェックするだけで、配列内の数字ではなく文字列を含む文字列になるはずですか?

関連する問題