首页 > 解决方案 > Express - 使用 .find 和 req.query 返回 null

问题描述

我正在尝试使用 mongo 和 express 进行搜索。我遇到了一个奇怪的问题,如果我将查询字符串中的值传递给 .find,它会返回 null。但是,如果我通过硬编码的相同值,它就可以正常工作。

例如

这工作得很好:

const property = await Property.find({ county: 'kildare'});

这不起作用:

 const property = await Property.find({ county: req.query.county});

如果我req.query.county在以下路线上点击方法时使用console.log,http://localhost:7777/property/search?county=kildare我会得到一个 kildare 值。

我真的不明白问题是什么。

标签: node.jsmongodbexpress

解决方案


尝试修剪您的查询字符串以避免空格或任何不需要的字符:

const property = await Property.find({ county: req.query.county.trim()});

推荐阅读