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
fenvalues (using anarray-union), and query witharray-containsagainst that field. - Or put the
_rEG,_ASand_BSSAin documents in a dedicated subcollection, and query against that with a collection group query.
