firebase / firebase/firebase-admin-node

Filter.or over a missing field breaks the whole query silently

Offen
#2,952 2 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @dconeybe Auf GitHub ansehen
api: firestore
Vorherrschende Sprache
TypeScript
Sterne
1.7k
Forks
419
Ø Merge
3 T. 10 Std.
Gemergte PRs (30 T.)
16

Beschreibung

### [REQUIRED] Step 2: Describe your environment

Live.
It works in the emulator.

### [REQUIRED] Step 3: Describe the problem

#### Steps to reproduce:

If one or more of the filters inside a `Filter.or` queries a non-existent property, then the whole `Filter.or` returns false, returning no results, even if the other filters (e.g. Age in the example below) do match.
No errors or warnings are raised, the query "fails" silently.

#### Relevant Code:

```
let snap = await firestore.collection('MyThing').where(
Filter.or(
Filter.where('age', '>=', 18),
Filter.where('nonExistentProperty', '>=', 123),
)
).get()
```

I get the limitations on querying non-existent fields, but the whole thing shouldn't fail silently.

Either the other filters should still work, or there should be an error raised.

This doesn't occurr on the emulator, so was only a prod issue that it just took me several hours to track down.

At least make the emulator mirror live!

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.