angular.jsの$httpを用いてgetしています。
javascript
1//クライアント 2var tags = ['javascript','rails']; 3var config = { 4 params: { 5 tags: tags 6 } 7 }; 8$http.get(url,config)
javascript
1//サーバーサイド 2console.log(req.query.tags);//['javascript','rails'] 3Message.find({ tags: { "$in" : req.query.tags} })
のようにしていて、tagsの配列の要素が二つ以上のときにはうまく処理できるのですが、
javascript
1//クライアント 2var tags = ['javascript'];
のようにtagsの配列の要素が一つのときには、
javascript
1//サーバーサイド 2console.log(req.query.tags);// 'javascript' 3//['javascript']のように要素が一つの配列にならず、ただの文字列になってしまう
このため
MongoError: $in needs an array
とエラーが出てしまいます。
expressのパーサーが悪さをしているような気がするのですが、、、、
アドバイスお願いします
あなたの回答
tips
プレビュー