更新猫鼬中的数组字段

时间:2021-07-04 21:57:46

标签: node.js arrays mongodb mongoose

我找不到更新字符串数组的 mongoDB 字段的方法。我在前端有这个服务

<块引用>

foodService.ts

next.config.js

它 console.logs :

来自服务60cfb5ad65462f00158c38d9

{food1: "meat",food2: "mushrooms"}

所以到目前为止我觉得一切都很好。

在后端我有这个

updateSheet(id: string, foods: any) {
console.log('from service', id, foods);
return this.http.post<BreedingSheet>(`${this.breedingSheetsUrl}/${id}`, foods);
}

console.log 给我:

数据 ID 60cfb5ad65462f00158c38d9

数据食品未定义

来自后端模型:

router.post('/:id', async(req, res, next) => {
console.log('DATA ID', req.params.id);
console.log('DATA FOODS', req.body.foods);
const updateSheet = await BreedingSheet.findOneAndUpdate({ _id: req.params.id }, {foods: 
req.body.foods},
(error, sheet) => {
  if(error) {
    return console.log('error while updating');
  }
  return res.status(200).json({sheet});
})
});

来自前端模型:

  foods: { type:[], required: true }

问题是为什么我会从后端的食物 (req.body.foods) 得到 undefined

1 个答案:

答案 0 :(得分:0)

x[1] 的第二个参数是 body,所以如果你想通过 O(log(k)) 获取你的食物,你需要以这种方式传递它:

O(log(k))