【问题标题】:Mongo find id with req.query.id nodeMongo 使用 req.query.id 节点查找 id
【发布时间】:2018-12-01 10:16:34
【问题描述】:

我试图从带有 req.query.id 的 url 中获取 id(我也使用过 req.body),但它返回一个空数组,但如果我将变量放在第一位,我会得到包含数据的数组。 `

router.get('/:id', isLoggedIn, function(req, res) {
  MongoClient.connect(url, function(err, db) {
    if (err) throw err;
    let id = req.query.id;
    db.collection("restaurant").find( { _id : id } ).toArray(function (err, result) {
      console.log(result);
      res.render('menu', {  restaurant: result });
});
  });
});

`

【问题讨论】:

标签: node.js mongodb express mongodb-query


【解决方案1】:

req.query 用于在? querystrings 之后获取url 的查询字符串部分。获取id 的值应该使用req.params

const { id } = req.params;

您还必须将 id 转换为您的 mongodb match 查询将是的数字

{ _id: Number(id) }

【讨论】:

  • 仍然给出空数组
  • 你的html中_id的值是什么
  • 在html中的值为1
  • result 变量是空数组吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-16
  • 2015-09-04
  • 2014-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多