Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Express/Mongoose中使用GET端点但不使用POST端点的CastError?_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Node.js 在Express/Mongoose中使用GET端点但不使用POST端点的CastError?

Node.js 在Express/Mongoose中使用GET端点但不使用POST端点的CastError?,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我正在测试一个使用mongoose查询从ids获取用户数据的端点。我的代码的工作原理与POST端点类似,但如果端点更改为GET,则返回一个奇怪的错误 router.route("/test").get(async (req, res) => { // works for POST route and request, not GET const ids = req.body.ids; users = []; for (let i = 0; i < id

我正在测试一个使用mongoose查询从ids获取用户数据的端点。我的代码的工作原理与POST端点类似,但如果端点更改为GET,则返回一个奇怪的错误

router.route("/test").get(async (req, res) => { // works for POST route and request, not GET
  const ids = req.body.ids;
  users = [];
  for (let i = 0; i < ids.length; i++) {
    const userData = await User.findById(ids[i]);
    users.push(userData);
  }
  res.json(users);
});
router.route(“/test”).get(async(req,res)=>{//用于POST路由和请求,而不是get
常量ID=req.body.ids;
用户=[];
for(设i=0;i
使用上面的代码,我得到了以下错误:“错误:CastError:对于模型“组”的路径“\u id”处的值“test”,转换为ObjectId失败”


用POST替换请求类型,我得到了我想要的结果。当代码的其余部分相同时,为什么会出现这种情况?

不要让端点有点类似
例如:

product/:id

and similar with

item/:id

使您的端点独一无二

product/:id_product

item/:id_item

核心是,检查端点并使其唯一

上面的示例是我遇到的一个案例

请显示您发出的两个HTTP请求(GET和POST)