Firebase/JSON数据库结构引用数据库其他部分中的数据UUID 更新

Firebase/JSON数据库结构引用数据库其他部分中的数据UUID 更新,json,firebase,firebase-realtime-database,nosql,Json,Firebase,Firebase Realtime Database,Nosql,在得到答案后,我使用fileUID:true,下面是如何使用AngularFire2和typescript实现动态键。它可能对某些人有用: this.af.database.object(`users/${userID}/submitted-files/`).update({ [nextFileKey]: true }); 我是否需要在文件中创建对userUUID的反向引用 原始问题 这是我当前的数据库结构。这个问题适用于我在Firebase的情况,但任何JSON数据库看起来都是一样的 {

在得到答案后,我使用fileUID:true,下面是如何使用AngularFire2和typescript实现动态键。它可能对某些人有用:

this.af.database.object(`users/${userID}/submitted-files/`).update({
  [nextFileKey]: true
});
我是否需要在文件中创建对userUUID的反向引用

原始问题 这是我当前的数据库结构。这个问题适用于我在Firebase的情况,但任何JSON数据库看起来都是一样的

{
  "users" : {
    "0gIo3Ak2EFbLDSSCMSEpciuWnB83" : {
      "email" : "username@example.com",
      "hasAcceptedTerms" : true,
      "state" : {
        "isProfileComplete" : true
      },
      "submitted-files": { // FILES REFERENCES WILL GO THERE }
    }
  }
}
我希望我的用户能够上传一些文件,这些文件将被审查,然后由外部观察者脚本批准。在文件上载时,我想在Firebase数据库中创建一个新的
文件
区域,以获得以下结构:

{
  "files" : {
    "-K_jG4usPu_4yLED7j8L" : {
      "fileUUID" : "448f4sd8f4sd4fsdf494ds84f98sd4f",
      "filename" : "document.pdf"
      "user" : "0gIo3Ak2EFbLDSSCMSEpciuWnB83"
    }
  },
  "users" : {
    "0gIo3Ak2EFbLDSSCMSEpciuWnB83" : {
      "email" : "username@example.com",
      "hasAcceptedTerms" : true,
      "state" : {
        "isProfileComplete" : true
      },
      "submitted-files": { // FILES REFERENCES WILL GO THERE }
    }
  }
}
问题是现在要链接
用户/提交的文件
路径中的文件UUID

在完美世界中,我会将此添加到用户数据中:

"submitted-files" : {
    "-K_jG4usPu_4yLED7j8L",
    "SecondFileUUID"
    "ThirdFileUUID"
  }
但既然我必须输入一个键/值对作为JSON数据库,那么我如何才能有效地在我的用户部分列表中列出所有提交的文件UUID,而不包含任何其他非必需的信息

我是否必须复制用户路径中的整个文件信息才能获得

"users" : {
    "0gIo3DQ9EFbLDSSCMSEpciuWnB83" : {
      ...
      "submitted-files" : {
        "-K_jG4usPu_4yLED7j8L" : {
           "fileUUID" : "448f4sd8f4sd4fsdf494ds84f98sd4f",
           "filename" : "document.pdf"
           "user" : "0gIo3Ak2EFbLDSSCMSEpciuWnB83"
        }
      }
    }
  }
或者是否有办法只在
用户/提交的文件路径中输入对文件UUID的引用?


我想知道如何以正确的“JSON方式”构建我的数据库良好实践的建议。

您非常熟悉:

"submitted-files" : {
    "-K_jG4usPu_4yLED7j8L",
    "SecondFileUUID"
    "ThirdFileUUID"
}
只需为它们指定一个值true即可:

"submitted-files" : {
    "-K_jG4usPu_4yLED7j8L": true,
    "SecondFileUUID": true,
    "ThirdFileUUID": true
}

他们在一些教程中解释了这一点。

您与以下内容非常接近:

"submitted-files" : {
    "-K_jG4usPu_4yLED7j8L",
    "SecondFileUUID"
    "ThirdFileUUID"
}
只需为它们指定一个值true即可:

"submitted-files" : {
    "-K_jG4usPu_4yLED7j8L": true,
    "SecondFileUUID": true,
    "ThirdFileUUID": true
}

他们在一些教程中对此进行了解释。

Ok看起来很酷。在良好的实践中,我现在必须在文件部分创建对用户id的反向引用吗?Ok看起来很酷。在良好的实践中,我现在是否必须在文件部分创建对用户id的反向引用?