繁体   English   中英

使用 Mongoose 事务向 MongoDB 发布请求时出现“500 内部服务器错误”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM