我试图从我的MongoDB数据库中访问一个文档,包含的名称值等于我从前端传递的名称值。现在,我得到了一个200响应,但数据为空,日志显示我的查询未定义,但我不知道为什么。
这是我的BE的样子
recordRoutes.route("/test").get(function (req, res) {
let db_connect = dbo.getDb();
let query = req.params.currentName;
console.log('QUERY:', query);
db_connect.collection("records").findOne({'name': query}, function (err, result) {
if (err) throw err;
res.json(result);
});
});
"这是我在前台的电话“
const fetchUser = useCallback(async (e) => {
e.preventDefault();
await axios.get(`http://localhost:5000/test`, {params: {currentName}} )
.then((response) => {
console.log('RESPONSE IS:', response);
// console.log('RESPONSE.DATA:', response.data);
//return response;
})
.then((data) => {
console.log('DATA IS:', data);
setData(data);
})
.catch((e) => console.log(e))
//return;
}
, [currentName]);
你知道为什么我什么都没收到吗
注意:如果我在后端中硬编码**.findOne({'name':'Test 2'}**,.. etc,**它确实找到了名称确实为Test 2的文档。**我猜我获取req.params.currentName的方式不知怎么的有问题。
任何帮助都将不胜感激。谢谢!
1条答案
按热度按时间1cklez4t1#
在前端将请求URL更改为此
在API路由中这样修改路由