2017-12-16 1 views
1

나는 firebase 데이터베이스로 작업 중입니다. 때때로 I 데이터를 다운로드 할 때, I는 ID와 함수의 ID를 전달firebase에 데이터를 저장하면 배열이 반환됩니다.

const ref = firebase.database().ref(`users/${userID}/likes/${ID}`); 
ref.set(ID); 

, 값이 중포 기지의 정확한 생성되지만 : 사용자의 작용 후에 I 새로운 REF를 생성하고 일부 데이터 세트 개체 목록 대신 배열이 있습니다. 나는 내가 뭘 잘못하고 있는지 이해하지 못한다. 귀하의 예제에서

답변

2

const ref = firebase.database().ref(`users/${userID}/likes/${ID}`); 

ref.set (ID);

ID가 무엇이든간에 네 스팅 중첩 된 것처럼 보입니다. 참조가 새 경로를 만들 것입니다. ID가 무엇이든지간에 이름이 새로 만들어지면이 새로 만들어진 경로 (개체이기도 함)에 ID를 설정합니다. 사용자가 좋아하는 게시물 (또는 무엇인가)에 대한 참조를 작성하여 클라이언트 측을 배열로 배열 한 다음 사용자/$ {userID}/likes로 설정하십시오.

여기 예가 있습니다. 사용하고 정보를 등록하지만,이 사용자가 당신은 또한 데이터의 경우를 액세스 할 수있는 위치를 하나의 계정 개체를 얻을 것이다 uid를에 당신이 심판 스냅 샷을 조회 할 때 .. 예에서

let account = {} 
     account.email = email.toLowerCase() 
     account.uid = authData.uid 
     account.username = username 



firebase.database().ref('users/' + authData.uid).set({ 
      account 
     }) 

모두 같은 과정 배열로 설정합니다.

당신은 내 ... 또는

let likedPosts = [] 
likedPosts.push(new data from user interactions) 
firebase.database().ref(users/${userID}/likes).set({ 
      likedPosts 
     }) 

, 그리고 아마도 가장 좋은 방법이 데모를 따라 사용자에게 .push하는 것입니다 (당신이 중포 기지를 사용하려는 경우)/$ {사용자 ID}이 예제를 따라 할 수

/좋아요. 고유 ID가있는 개체의 개체를 만들기 때문에이 메서드가 마음에 들지 않습니다. map, filter 및 reduce와 같은 기본 javascript 도우미 기능을 사용할 수 없으므로이 데이터를 사용하는 것이 어렵습니다.

https://firebase.google.com/docs/database/web/lists-of-data

관련 문제