繁体   English   中英

Express + MongoDB-对对象的req.query

[英]Express + MongoDB - req.query to object

我尝试从MongoDB中筛选出结果。 我正在使用Express。 这是我的console.logs:

  1. 来自URL的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
  2. 我制作的一个对象,用于测试它是否适用于我的数据库,并且可以
  1. {personalbest:{ '$ GT': '170'},名称:{ '$ GT': 'M'}}
  2. {personalbest:{'$ gt':'170'},名称:{'$ gt':'M'}}

码:

var filters = req.query.filters
db.collection('skijumper').find(filters).toArray()

当然,我得到这个错误:

MongoError:查询选择器必须是一个对象

将此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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM