Express + MongoDB – req.query的对象
我尝试从MongoDB过滤我的结果。 我正在使用Express。 这是我的console.logs:
- req.query.filters from URL: 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
- 一个由我做的对象来testing它是否适用于我的数据库
- {personalbest:{ '$ GT': '170'},名称:{ '$ GT': 'M'}}
- {personalbest:{'$ gt':'170'},名称:{'$ gt':'M'}}
码:
var filters = req.query.filters db.collection('skijumper').find(filters).toArray()
当然,我得到这个错误:
MongoError:查询select器必须是一个对象
将这个req.query转换成一个对象的最好方法是什么? 谢谢
前端:
var filters = {personalbest:{'$gt':'170'},name:{'$gt':'M'}}; var url = "http://localhost:3000/test?filters=" + encodeURIComponent(JSON.stringify(filters));
后端:
var filters = JSON.parse(req.query.filters);