【发布时间】:2019-02-09 10:40:45
【问题描述】:
我只有一个大的 JSON 文件。例如,
{
"Name": "Motor_M23",
"AASID": {
"IDType": "URI",
"IDSpec": "http://acplt.org/AAS/Motor_M23"
},
"AssetID": {
"IDType": "URI",
"IDSpec": "http://acplt.org/Assets/Motor_M23"
},
"Header": {
"PropertyValueStatementContainers": [
{
"Name": "Config",
.
.
.
.
我需要支持以下操作:
-
查询一个元素应该返回所有子元素,例如查询
AssetID应该返回"AssetID": { "IDType": "URI", "IDSpec": "http://acplt.org/Assets/Motor_M23" } 更新元素的值。
- 删除元素。
- 在层级之间移动元素,例如使
AssetID成为AASID的子元素。
我考虑了以下方法:
- 图形数据库:我开始阅读有关 Neo4J 的信息。但是,它不能智能地从 JSON 中创建图形。必须指定节点类型及其层次顺序。
- ElasticSearch :它可以通过将 JSON 视为文本来工作,因此不是有效的解决方案。
- Postgres:支持查询 JSON 对象,但更新、删除效率不高。
有没有什么好的数据库可以从大型 JSON 中加载数据并处理我的操作?
【问题讨论】:
-
面向文档的 nosql 数据库。结帐MongoDB,它是最受欢迎的之一,并且有很多很好的文档。
-
@Noki 我检查了带有嵌套集的模型树。 MongoDB 是否仅通过提供 JSON 来支持 自动 创建树?我找不到任何方法来做到这一点。
-
我将 mongoDB 与 java 应用程序一起使用,该应用程序使用提供自动创建的 ODM。我真的不知道您是否可以自动执行此操作,但我很确定那里有脚本可以为您执行此操作。
标签: json database storing-information