Firebase 데이터베이스는 JSON의 하위 집합을 사용합니다. 따라서 JSON 스키마를 사용하여 데이터 모델을 설명하는 것이 분명한 것 같습니다. 이렇게하면 HTML 양식 또는 유형 스크립트 모델을 생성하거나 임의의 테스트 데이터를 생성하는 도구를 사용할 수 있습니다.모델 JSON 스키마의 Firebase 실시간 데이터베이스
내 질문 : 키가 ID 인 JSON 스키마에서 키 - 값 쌍을 어떻게 모델링하나요?
예 (firebase spec 빌린)
{
"users": {
"mchen": {
"name": "Mary Chen",
// index Mary's groups in her profile
"groups": {
// the value here doesn't matter, just that the key exists
"alpha": true,
"charlie": true
}
},
...
여기 그룹 이름은 그룹 ID로서 사용된다. 이 참조 (그룹 객체)와 그룹 객체 자체에서 ID는 속성 이름으로 사용됩니다. 위의 예를 들어
JSON 스키마는 다음과 같습니다 제가 예를 들어 필요가 무엇
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"users": {
"type": "object",
"properties": {
"mchen": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"groups": {
"type": "object",
"properties": {
"alpha": {
"type": "boolean"
},
"charlie": {
"type": "boolean"
}
}
}
}
}
}
}
}
}
는 NAME
는 속성 이름에 대한 자리 표시 자입니다 및 NAME_TYPE
이 유형의 정의는 다음과 같은 무언가이다.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"users": {
"type": "object",
"properties": {
NAME: {
"type": "object",
NAME_TYPE: "string",
"properties": {
"name": {
"type": "string"
},
"groups": {
"type": "object",
"properties": {
NAME: {
NAME_TYPE: "string"
"type": "boolean"
}
}
}
}
}
}
}
}
}
(어쩌면 내가 여기에 완전히 잘못 경로입니다 아니면 JSON 스키마는 필요한 구조를 모델링 할 수 없습니다.)
JSON 구조에는 key : value 쌍이 있습니다. 파이어베이스에서 '공통점'이 무엇을 의미하는지 자세히 설명해 주시겠습니까? – Jay
일반 JSON에서는 목록을 배열로 구성합니다 :''groups ': {{'id ': 1,'name ':'alpha ', ...}, {'id ': 2,'name ':'charlie ', ...}]'. firebase에는 배열이 없습니다. 다음과 같은 목록을 구성하는 것이 좋습니다. { 'group1': { 'name': 'alpha', ...}, 'group2': { 'name': 'charlie', ...}} '. (위 참조) – Simon
확실히 Firebase에 어레이가 있습니다. 그러나 JSON 상점의 일반적인 구성 요소는 어레이의 개별 구성 요소에 직접 액세스 할 수 없으며 키 : 값 쌍 및 자동 생성 ID를 활용하면 훨씬 더 유연하므로 사용법은 매우 상황이 복잡하므로 피해야합니다. – Jay