[英]Getting "500 Internal Server Error" while posting a request to the MongoDB using Mongoose transaction
我正在开发一个基于 React、NodeJS、Express、MongoDB 和 Mongoose 的在线调查应用程序。 当我想通过 Mongoose 向 MongoDB 发布请求(通过表单提交)时,我遇到了这个问题,我总是收到错误消息“创建答案失败,请重试。” 用我的代码来识别它与数据库发生的错误有关。 我可以看到请求正文实际上是在请求的有效负载中创建的; 但是,该文档不是在 MongoDB 中创建的。 请参考下面的相关代码。
https://codesandbox.io/s/sharp-glitter-885pg?file=/src/backend/model/text-question.js
在text-controller.js
文件中创建后,尝试push
createdAnswer 的_id
而不是整个createdAnswer
:
...
const sess = await mongoose.startSession();
sess.startTransaction();
await createdAnswer.save({ session: sess });
// Add createdAnswer id to the specific user
user.answers.push(createdAnswer._id); // <- CHANGE THIS LINE
await user.save({ session: sess });
await sess.commitTransaction();
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.