简体   繁体   English

从mongoDb atlas数据采集中按id获取数据

[英]get data by id from mongoDb atlas data collection

I'm trying to get data by using id but I always get 500 internal error.我正在尝试使用 id 获取数据,但我总是收到500内部错误。 It would be great help if someone help to find what error I have done to get request.如果有人帮助找出我为get请求而犯了什么错误,那将是非常有帮助的。 I have done post request successfully and stored data to MyDatabase collection of MongoDb Atlas我已成功完成发布请求并将数据存储到 MongoDb Atlas 的MyDatabase集合

Here is my code:这是我的代码:

app.get("/student/:id", function (req, res) {
  db.collection("MyDatabase").findOne(req.params.id, function (err, docs) {
    if (err) {
      handleError(res, err.message, "Failed to get student record.");
    } else {
      res.status(200).json(docs);
    }
  });
});

I have tried:我努力了:

var ObjectId = require("mongodb").ObjectID;
  db.collection("MyDatabase").findOne(
    { _id: new ObjectId(id) }

but still not working但仍然无法正常工作

This works for me:这对我有用:

app.get("/student/:id", function (req, res) {
  const id = req.params.id;
  var o_id = new mongoDB.ObjectID(id);
  db.collection("MyDatabase").findOne({ _id: o_id }, function (err, docs) {
    if (err) {
      handleError(res, err.message, "Failed to get student data.");
    } else {
      res.status(200).json(docs);
    }
  });
});

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

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