배열을 사용할 수 있지만, firebase 생성 키가있는 객체를 사용하는 것이 좋습니다. 아래 제안 된 데이터베이스 구조를 참조하십시오.
"root": {
"users": {
"$userId": {
...
"groups": {
"$groupId": true
}
}
},
"groups": {
"$groupId": {
...
}
}
}
다음은 JavaScript로 작성된 예제입니다. 위의 데이터베이스 구조를 사용하면 그룹에 사용자를 추가하고 사용자가 다음과 같은 그룹을 읽을 수 있습니다.
var currentUserId = ?; // The userId of the logged in user
var currentUserGroupsRef = rootRef.child('user').child(currentUserId).child('groups');
// Join group
var groupId = ?; // The id of a group that the user joins
currentUserGroupsRef.child(groupId).set(true); // Add the groupId to the users groups, letting firebase generate an Id
// Read groups
currentUserGroupsRef.on('value', (snap) => {
if (!snap.val()) {
var userGroupIds = []; // user is not in any groups, empty array of groupIds
return;
}
var userGroupIds = Object.keys(snap.val()); // Array of groupIds
});
빠른 답변을 보내 주셔서 감사합니다. 작동하는지 알려 드리겠습니다. –
당신이 요구 한 바깥에 있기 때문에 대답에 포함시키지 않았지만 그룹에 동일한 방법을 사용하여 어떤 사용자가 속해 있는지 추적 할 것을 제안합니다. – ArneHugo
정말 고마워요. –