Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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 mongoose更新文档_Node.js_Mongoose - Fatal编程技术网

Node.js mongoose更新文档

Node.js mongoose更新文档,node.js,mongoose,Node.js,Mongoose,我对更新节点中某些文档的最佳实践感到困惑,例如,我不知道是否应该通过req.body更新多个字段,这将使我更容易: //course is the document and Course is the model util.updateDocument(course, Course, req.body); 或者,如果我应该创建多个post方法,每个方法都有一个文档字段要更新,并从客户机请求一行: app.put('/updatecourse/:field1',function(req, res

我对更新节点中某些文档的最佳实践感到困惑,例如,我不知道是否应该通过req.body更新多个字段,这将使我更容易:

//course is the document and Course is the model
util.updateDocument(course, Course, req.body);
或者,如果我应该创建多个post方法,每个方法都有一个文档字段要更新,并从客户机请求一行:

app.put('/updatecourse/:field1',function(req, res){});
app.put('/updatecourse/:field2',function(req, res){});
app.put('/updatecourse/:field3',function(req, res){});

目前,我使用的函数通过req.body接收文档的任何字段并对其进行更新,但据我所知,这不是一个好的做法,而且这些方法也不是异步的。有人能给我解释一下这种情况下的最佳实践是什么吗?

我总是喜欢为我的每个模型都提供一个REST API。因此,我可以给您提供的解决方案是更新操作的示例:

app.put'courses/:id',functionreq,res,next{ 变量id=请求参数id, body=req.body; Courses.findByIdid,函数错误,课程{ //使用Express错误中间件处理错误 错误返回;恐怖; //渲染未找到错误 如果!当然{ 返回res.status404.json{ 消息:“找不到id为“+id+”的课程。” }; } //更新课程模型 course.updatebook,函数错误,course{ 错误返回;恐怖; res.jsoncourse; }; };
}; 我总是喜欢为我的每个模型都有一个RESTAPI。因此,我可以给您提供的解决方案是更新操作的示例:

app.put'courses/:id',functionreq,res,next{ 变量id=请求参数id, body=req.body; Courses.findByIdid,函数错误,课程{ //使用Express错误中间件处理错误 错误返回;恐怖; //渲染未找到错误 如果!当然{ 返回res.status404.json{ 消息:“找不到id为“+id+”的课程。” }; } //更新课程模型 course.updatebook,函数错误,course{ 错误返回;恐怖; res.jsoncourse; }; };
};如果我只想更新文档的一个字段,更新只覆盖该字段还是覆盖整个文档?在这种情况下,删除另一个字段SIT将仅更改主体内部设置的字段。因此,如果模型有prop1和prop2,主体只有prop2的值,prop1将保持不变,而prop2将被更新。哦,这就是我一直在寻找的,谢谢!我将在这里进行测试。如果我只想更新文档的一个字段,更新将只覆盖该字段,还是覆盖整个文档?在这种情况下,删除另一个字段SIT将仅更改主体内部设置的字段。因此,如果模型有prop1和prop2,主体只有prop2的值,prop1将保持不变,而prop2将被更新。哦,这就是我一直在寻找的,谢谢!我将在这里测试它。