Javascript 这个表达式{item_1.name:req.body.item}或者这个{[item_1.name]:req.body.item}有问题吗?
我正在尝试运行这段代码:Javascript 这个表达式{item_1.name:req.body.item}或者这个{[item_1.name]:req.body.item}有问题吗?,javascript,express,javascript-objects,Javascript,Express,Javascript Objects,我正在尝试运行这段代码: router.put('/restaurants/:id',异步(req,res)=>{ 试一试{ const response=wait Restaurant.findByIdAndUpdate(req.params.id,{name:req.body.name, 项目名称:req.body.item, 项目2.name:req.body.item_2, 项目3.name:req.body.item_3, 项目名称:req.body.item_4 }) res.se
router.put('/restaurants/:id',异步(req,res)=>{
试一试{
const response=wait Restaurant.findByIdAndUpdate(req.params.id,{name:req.body.name,
项目名称:req.body.item,
项目2.name:req.body.item_2,
项目3.name:req.body.item_3,
项目名称:req.body.item_4
})
res.send(响应)
}
捕获(错误){
res.send(错误)
}
})感谢上帝!在mongoose v5.10.19文档中,我看到了几乎相同的实例,在这里,他们将一个对象的属性用作另一个对象的键:
Parent.update({},{'child.name':'Luke Skywalker'},(错误)=>{
//错误,因为parentSchema具有“strict:throw”,即使
//`childSchema`有`strict:false`
});代码>这是否回答了您的问题?感谢您尝试帮助我,但我的问题相当具体,在您提供的链接中,他们讨论的都是“我们可以将变量用作对象内部的键吗?”并且根据大多数人的建议,应该通过在变量周围使用方括号来解决这个问题,但这在我的情况下不起作用,因为我在[item_1.name]中未定义item_1当我只使用项目1时,它工作得非常好,所以问题就在这个方法中。不清楚您在该中尝试做什么。findbyidanddupdate()
。您正在检索id为req.params.id
的项,然后要更新<代码>项目1.名称
?什么是item_1.name
?我想检索具有以下属性的餐厅:name、item_1、item_2、item_3和item_4,所有项目都是具有name和rating属性的对象。我所要做的就是根据put请求。项的name属性应替换为用户提供的名称属性。