Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Product의 Category ID가 비어있어, Products를 가져올 때 Remote 값 만을 가져옴 #27

Open
malibinYun opened this issue Oct 2, 2023 · 0 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@malibinYun
Copy link
Owner

Remote 에서 Product를 가져올 때, 없는 필드 categoryId 를 가져와서 EmptyString으로 값이 채워짐.
그대로 local에도 AppleProductEntity 의 appleProductCategoryId 가 EmptyString으로 값이 채워짐.

위 상황 때문에, category id로 Local에 저장된 Products를 가져오더라도 값이 비어있기 때문에 반드시 remote를 찌르는 상황이 만들어짐.

이전에 이 필드에 어떤 값을 채웠는지 조사가 필요함.
코드만 분석해보면 Category의 id 값을 넣는 것으로 확인됨. (index 값이 아닌 것으로 추정)


해결안

  1. Product는 Category 하위의 Collection이니, RemoteSource에서 해당 ID 값을 채워서 Category 객체를 만든다.
  2. Product Collection 에서 새로 category ID에 대한 필드를 추가한다.

위 둘 중 뭘 선택해도 단점이 나온다.

  1. 클라이언트에서 id 값을 채우는 게 맞는 판단인지, 모호하다.
  2. 하위 컬렉션에서 상위 컬렉션의 id를 역참조하는 케이스인데, 이미 트리구조로 상하관계가 엮여있는데, 하위에서 상위의 ID를 가지는 이 케이스가 NoSQL에서 자연스러운 접근인지 판단이 어렵다.
@malibinYun malibinYun added the bug Something isn't working label Oct 2, 2023
@malibinYun malibinYun added this to the Refactoring milestone Oct 2, 2023
@malibinYun malibinYun self-assigned this Oct 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant