MongoDBから結果をフィルタリングしようとしています。私はエクスプレスを使用しています。 URLからExpress + MongoDB - オブジェクトへの照会
- req.query.filters:http://localhost:3000/test?filters=%7Bpersonalbest%3A%7B%27%24gt%27%3A%27170%27%7D%2Cname%3A%7B%27%24gt%27%3A%27M%27%7D%7D
- それは私のデータベースと連携し、それが
- {personalbest:{'$gt':'170'},name:{'$gt':'M'}}
- { personalbest: { '$gt': '170' }, name: { '$gt': 'M' } }
を行うかどうかをテストするために私が作ったオブジェクトここでは私のconsole.logsですコード:
var filters = req.query.filters
db.collection('skijumper').find(filters).toArray()
そしてもちろん、私はこのエラーを取得する:
MongoError: query selector must be an object
このreq.queryをオブジェクトに変換する最良の方法は何ですか? おかげ
'req.params'または' req.query'でのものは単に "文字列" です。実際には 'req.body'コンテンツを実際のオブジェクトにするための' bodyParser'ミドルウェアがあります。おそらく、代わりに 'body'にオブジェクトを送るべきです。しかし、本質的に 'JSON.parse'は「文字列」を「オブジェクト」に変換します。つまり、urlencodingでも "引用"する必要があります。したがって、代わりにリクエスト本体を送信するほうがずっと簡単です。 –
ありがとう、私はあなたの助けに感謝します! –