Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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
Javascript 这个表达式{item_1.name:req.body.item}或者这个{[item_1.name]:req.body.item}有问题吗?_Javascript_Express_Javascript Objects - Fatal编程技术网

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属性应替换为用户提供的名称属性。