firestore で 各ユーザー配下のサブコレクション を横断して検索する

● firestore で 各ユーザー配下のサブコレクション を横断して検索する

FlutterでFirestoreのサブコレクションからコレクショングループを使って横断的にドキュメントを取得する

以下のようなデータがある場合、 /news サブコレクションを横断的に検索したい場合があります。

/users(コレクション)
   ├── user-0001 <ドキュメント>
   │    └── news(コレクション)
   │        ├── news-0001 <ドキュメント>
   │        └── news-0001 <ドキュメント>
   │   
   └── user-0002 <ドキュメント>
        └── news(コレクション)
            ├── news-0001 <ドキュメント>
            └── news-0001 <ドキュメント>

● news(コレクション)を横断的に検索する(検索条件なし。全て取得)

const searchQuery = query(collectionGroup(firebaseDB, 'news')).withConverter(firestoreConverter)
const querySnapshot = await getDocs(searchQuery).catch(e => {
      console.error(e)
})

● news(コレクション)を横断的に検索する(検索条件 ID=XXXXXXXXXXX で検索して取得)

const searchQuery = query(collectionGroup(firebaseDB, 'news'), where('ID', ' ==', 'XXXXXXXXXXX')).withConverter(
        firestoreConverter
      )
const querySnapshot = await getDocs(searchQuery).catch(e => {
      console.error(e)
})
No.2243
11/25 23:53

edit