Closed9

firestoreのネストはすべきか否か

terrierscriptterrierscript

https://stackoverflow.com/questions/56149601/firestore-collection-group-query-on-documentid
ネストした場合、/users/**/items/{itemId}的な探索は難しい。
(一応collectionGroupではできるが、itemIdで引くことはやっぱり難しい)

一方、flatにしておけば
collection("/items").where("userId", "==", "user")的なことで可能

terrierscriptterrierscript

例えばネストしてる場合itemId=10にアクセスするためにはusers/20/items/10などuserIdまで必要になる=URL構造としてもuserIdを含む形になる

terrierscriptterrierscript

ネストが有益なケースはなにか?

terrierscriptterrierscript
  • 本当に子要素として扱い、それらを独立して取り出すことが無い場合(RDBにおけるJSON型的な)
terrierscriptterrierscript

あとは、例えばmultitenancyのように/tenants/{tenant}/{someData**}のような使い方でも問題は無いかもしれない(これはよさそう)

このスクラップは2020/12/02にクローズされました