8人参与 • 2025-04-25 • mongodb
在开发一个在线考试系统时,前端需要提交学生的答题截图到后端,后端使用 minio 存储图片并保存图片 url 到 mongodb 数据库。
系统需要支持多次提交图片,并将所有图片 url 以数组形式存储在 mongodb 的 screenshot
字段中。
当存储少量图片时,url 显示正常(如 @http://10.100.157.90:9200/test-bucket/exam_1.png
)
但当图片数量增多后,screenshot
字段存储的内容变成了多层嵌套的 json 字符串,包含大量转义字符和斜杠
例如:
"screenshot": ["{\"screenshot\": [\"{\\\"screenshot\\\": [\\\"{\\\\\\\"screenshot\\\\\\\": [\\\\\\\"...\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]}\"]}"]
screenshot
字段内容,但没有正确处理可能已经存在的 json 字符串1.使用 mongodb 的数组操作符(如 $push
)直接更新数组,而不是替换整个字段
2.或者使用数据清理(可选,不建议)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论