node.js - 错误“DocumentNotFoundError:找不到查询文档”{_id:xxx}
问题描述
我克隆了对象“preventivo”,当我运行此代码时出现以下错误:(节点:24548)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):DocumentNotFoundError:找不到查询“{_id:5ff6110e27bbf25fe45ce2b5}”的文档在模型“preventivi”上我无法理解错误,你能帮我吗?我用节点+猫鼬+车把谢谢
//ROUTE CLONA PREVENTIVO
app.post('/preventivi/dbpreventivi/:id/clone' ,accessoSicuro,(req , res) =>{
Preventivi.findOne({
_id: req.params.id
})
.then(preventivo => {
var newdoc = new Preventivi(preventivo);
newdoc._id = mongoose.Types.ObjectId();
delete newdoc.__v;
newdoc.save();
console.log(newdoc._id)
req.flash("msg_successo", "Preventivo clonato correttamente");
res.redirect("/preventivi/dbpreventivi");
});
});
//fine route clona preventivo
html:
<form action="/preventivi/dbpreventivi/{{_id}}/clone?_method=POST" method="post">
<input type="hidden" name="_method" value="POST">
<input onclick="return confirm('Vuoi clonare il preventivo: {{cliente}} {{codice}} ?');" type="submit" class="btn btn-warning btn-sm" value="Clona">
</form>
解决方案
您可以尝试添加 newdoc.isNew = true :
//ROUTE CLONA PREVENTIVO
app.post('/preventivi/dbpreventivi/:id/clone' ,accessoSicuro,(req , res) =>{
Preventivi.findOne({
_id: req.params.id
})
.then(preventivo => {
var newdoc = new Preventivi(preventivo);
newdoc._id = mongoose.Types.ObjectId();
newdoc.isNew = true;
newdoc.save();
console.log(newdoc._id)
req.flash("msg_successo", "Preventivo clonato correttamente");
res.redirect("/preventivi/dbpreventivi");
});
});
//fine route clona preventivo
推荐阅读
- postgresql - 使用 --without-readline 和 --without-zlib 在 SUSE Linux Enterprise Server 11 补丁 3 上安装 Postgresql 12.2
- reactjs - 在使用钩子加载数据之前停止渲染
- java-8 - 迭代大小为 350 万的编年史地图的更好方法是什么
- sql - Join query in specific column table
- windows - 在 Powershell 中查找正在运行的 Docker 进程
- kotlin - 对以下行感到困惑 @field:[Expose SerializedName("id")]
- firebase - 未来函数返回 Null Firestore
- .net-core-3.1 - 在 Core 3.1 应用程序中绑定患者的给定属性(FHIR .net 模型作为请求模型)时出错
- c# - Azure SignalR Blazor 应用未收到消息
- angular - 在切换到下一个路由之前执行 http 请求