Mr T
Mr T

Reputation: 1000

Query Firebase Firestore Subcollection in Flutter

I am querying my Firestore database as follows:

final Query roasters = Firestore.instance
    .collection('retailers')
    .where('retail_category', isEqualTo: 'Coffee Roasters');

I am receiving the result back of all documents in the retailers collection which have 'retail_category' set as 'Coffee Roasters'.

The Problem

I instead want to turn retail_category into a separate collection and instead reference it in the retailer field (which would negate the following reference):

"retail_categories/hEN5fzNl2hEc2tEs05Wi"

I have tried the following:

final Query roasters = Firestore.instance
    .collection('retailers')
    .where('retail_categories', isEqualTo: ' qretail_categories/hEN5fzNl2hEc2tEs05Wi');

Here is my Firestore configuration:

Retailers retailers Retail Categories retail_categories

Upvotes: 0

Views: 58

Answers (1)

Doug Stevenson
Doug Stevenson

Reputation: 317352

It's not possible to reference data in documents outside of the collection being used for the query. For this reason, it's very common to duplicate data between documents that need to be used in queries for each collection. If you don't want to do that, you will have to make separate queries for each referenced document.

Upvotes: 2

Related Questions