javascript - 通过参数查找node.js

标签 javascript node.js mongodb

我正在尝试使用 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/

相关文章:

javascript - 从私有(private)以太坊区 block 链在浏览器中实时更新用户余额

php - 使用 jQuery/JS 读取 JSON 数组

javascript - Cheerio Node.JS 外部标题链接问题

c# - FindAndModify 在哪里适合 CQRS?

javascript - 在没有 ID 的情况下确定两个 HTML 元素是否不同

javascript - 在 React html 中渲染变量

javascript - 为什么我的 Javascript 文件不运行?

javascript - 为什么在 Node 中打开 fifo 管道会阻止 child_process.exec?

javascript - 在 meteor 中使用mongo聚合来总计解锁/锁定集合

mongodb - mongo - 删除不存在的集合抛出 'ns not found'