来自URL路由参数的Mongoose findByID不能与Express路由器一起使用

时间:2017-09-21 18:34:22

标签: node.js mongodb express mongoose

我在教程中看到了这个,但无法使其正常工作:

/* GET one item. */
router.get('/items/:id', (req, res) => {
  Item.findById(req.param.id, (err, items) => {
    if (err) res.status(500).send(error)

    res.status(200).json(items);
  });
});

我也试过“.findById({_id: req.params.id}

我总是得到整个项目清单。 我找不到使用findById

的文档实施router.get的正确方法

2 个答案:

答案 0 :(得分:0)

而不是Item.findById,尝试使用Item.find({id:req.params.id}

--Insert multiple records with a single INSERT statement.
INSERT INTO dbo.RowVerTest (Foo)
SELECT TOP(5) name FROM sys.objects;

--All the new rows have the same value for [CreationRowVersion] :{
SELECT * FROM dbo.RowVerTest;

答案 1 :(得分:0)

我的问题是,网址:'/items/:id'与使用网址的另一个get方法冲突:'/items',它正在获取所有项目。所以我将其重命名为'/item/:id'