gpt4 book ai didi

javascript - 通过参数查找node.js

转载 作者:行者123 更新时间:2023-12-03 06:57:37 24 4
gpt4 key购买 nike

我正在尝试使用 find 函数从 mLab 中的数据库获取数据。我写了这段代码,但我得到一个空字符串。我的模式有 ID、姓名、类(class)和年级。当我想要名称的文件而不是 id 的文件时,它对我有用。我猜这是因为 mLab 添加了额外的 _id 文件。如何修复它以获取适合 id 的 JSON(假设 id=1)?

     app.get('/getStudentById/:id', function(req, res) { //else if url path is getStudGrade with id param
Stud.find({id:req.params.id}, function(err, user){
if(err) throw err;
res.json(user);
mongoose.disconnect();
});
})
<小时/>

新编辑

我已将数据库中的归档“id”更改为“idStudent”,现在它可以工作了。

Stud.find({ idStudent: req.params.id)}...)

但为什么呢?

最佳答案

因此,假设 req.params.id 实际上有一个值,并且 /getAll 显示您的所有记录都设置了 id 字段,唯一让我想到的是,您将 stringNumber 进行比较,即 req.params.id 将是一个字符串反序列化后,但您的架构规定 id 字段是数字。

我不确定 mongoose 是否使用强制比较,即 == 超过 === (我对此表示怀疑),因此为了更准确,您应该解析您的字符串到 Number 然后进行比较,例如

Stud.find({ id: parseInt(req.params.id)}, ...)

关于javascript - 通过参数查找node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37206128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com