Home > Enterprise >  firestore query a value under a subfield under field asterisk star
firestore query a value under a subfield under field asterisk star

Time:01-16

I have this data:

{ 
  root: { 
    _rEG: { fen: 'value' }, 
    _AS: { fen: 'value' }, 
    _BSSA: { fen: 'value' } 
  }
}

I want to query like where('root.*.fen', '==', 'value'). How can I do this.

I thought about putting all fen values as keys and value to this * path and index like that, is there a better way?

CodePudding user response:

There is no way to use a wildcard in the field name in a query.

To implement this use-case, you can:

  • Either create a top-level field with all fen values (using an array-union), and query with array-contains against that field.
  • Or put the _rEG, _AS and _BSSA in documents in a dedicated subcollection, and query against that with a collection group query.
  •  Tags:  
  • Related