我是 MongoDB 的新手,我正在努力弄清楚 MongoDB GridFS 是否适合我的用例。我有一个大的 JSON,我想将它存储在数据库中。JSON具有以下格式
{
"task":"12345",
"items":[
item1: [subitem11:[f1,f2,..fn],subitem12:[f1,f2,..fm],....,subitem1n:[f1,f2,..fk]],
item2: [subitem21:[f1,f2,..fn],subitem22:[f1,f2,..fm],....,subitem1m:[f1,f2,..fk]].
.
.
itemn:[subitemn1:[f1,f2,..fn],subitemn2:[f1,f2,..fm],....,subitemnk:[f1,f2,..fk]]
],
}
item 和 subitem 是字符串数组,可以非常大。
JSON 大小可以大到 250MB(最坏情况),并且数据库中可以有很多文档。我的读/写模式如下。
写:给定任务和/或项目和/或子项目,我希望能够更新项目或子项目数组
阅读: 给定任务和/或项目和/或子项目,我希望能够读取子数组
我的问题如下:
有没有一种方法可以存储如此大的 JSON,并且仍然能够使用 MongoDB GridFS 快速更新/读取它?据我了解,MongoDB GridFS 将像视频文件这样的大文件分割成块并存储这些块。我不清楚 MongoDB 将如何拆分大型 JSON,以及我将如何快速执行读写操作。
MongoDB 是此类数据的正确选择吗?如果没有,我可以考虑哪些其他数据库?注意:我想在未来扩展这个应用程序,每个文档/项目/子项目独立于其他,即数据中没有关系。
我尝试在 Internet 上搜索此内容,并参考了 MongoDB 文档,但无法弄清楚这一点。
https://docs.mongodb.com/manual/core/gridfs/
提前感谢您的指点。