이렇게 구현하는 방법을 많이 조사 했으므로 데이터베이스 구성 방법에 대한 최적의 방법을 찾을 수 없습니다.적절한 Firebase Firestore 'Swift의 데이터베이스 구조와 비슷합니다.
Firebase의 새 데이터베이스 Firestore를 사용하여 iOS 앱을 만들고 있습니다.
기본적으로 두 개의 주요 '컬렉션'이 있습니다.
'사용자' '위치'
100 곳이있다. 사용자는 무한합니다. 사용자가 위치를 '좋아할'수 있습니다. 사용자는 다른 사용자를 '추적 할 수 있습니다'.
나는 현재 사용자의 '좋아하는'위치와 '따라 다니는'사용자를 쿼리하는 문제에 직면 해 있습니다.
이들은 사용자 내의 개체 여야합니까? 예를 들어 ...
/users
/userId
name:"Phil"
likedLocations
location1:true
location5:true
followedUsers
userId3:true
userId6:true
또는
다음은 '위치'수집에 있어야합니다 .../locations
/locationId
name:"New York"
userLiked
"userId":true
편집의 용이성을 위해 나는 데이터베이스에 수동으로 이동하여 위치를 편집 할 수 있습니다. Option A를 사용하면 아무런 문제가 없습니다. 사용자는 '좋아하는 지역'에 100 개의 항목이있을 가능성이 있습니다. 옵션 B를 사용하면 위치에 무한대 (앱과 동일한 수의 사용자) 키 값 쌍이있을 수 있습니다.
TLDR - 사용자가 다음/좋아하는 유형의 데이터베이스를 설정하는 데 가장 쉽게 쿼리하고 비용 효율적인 방법은 무엇입니까? – pmanning
첫 번째로 이동하십시오. 두 번째 예제에서는 뉴욕에 대해 20000 명의 사용자 만있을 수 있습니다. 그러나 Phil이 20000 개의 장소를 좋아할 것 같지는 않습니다. – jimijon