我目前正在构建一个应用,该应用需要以与文件树类似的结构来存储数据。看起来像这样:
{
"type": "folder",
"name": "folder A",
"private": false,
"updatedAt": 1231243,
"items": [
{
"type": "folder",
"name": "subfolder A",
"private": false,
"updatedAt": 1231243,
"items": [
{
"type": "file",
"name": "file1"
}
]
},
{
"type": "file",
"name": "file2"
}
]
}
到目前为止我所知道的,有3种方法可以实现。
我正在寻找一种以尽可能少的查询来获取所有这些数据的方法,理想的用例是仅具有根文件夹ID并获取所有子文件夹和项目。但我不确定是否可行。
而且,我计划将来订阅数据,因此文件树将实时更新。
[请给我一个关于数据模型应该是什么样的建议
更新1要进一步说明我需要的查询:
[如果您需要通过一个唯一的ID获得整个结构,只需将其全部放入一个文档中,并使用已知ID对其进行get()
。
如果您需要访问列表中的项目,这会变得更加复杂(如果不阅读整个文档,这是不可能的,因此,在这种情况下,这实际上是一个坏主意。
如果您打算经常更新本文档的元素,您还需要重新考虑这一点,因为limit每秒写1次(持续)。您可能希望将其拆分。