Express + MongoDB – req.query的对象

我尝试从MongoDB过滤我的结果。 我正在使用Express。 这是我的console.logs:

  1. 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
  2. 一个由我做的对象来testing它是否适用于我的数据库
  1. {personalbest:{ '$ GT': '170'},名称:{ '$ GT': 'M'}}
  2. {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);