132 results found
-
It's impossible to import data into the emulator without first exporting, which is a backwards design
Developers should be able to use the CLI to easily pass in a path to a json file, whose contents may be imported into a firestore emulator collection. For instance:
firebase emulators:start --import ./data/import.json --collection=puzzles
4 votes -
Provide a way to document and share models across platforms.
Afaik there is currently no standard way to a) document the structure and organization of Firestore collections and documents stored in a project expected by apps which use it, and b) share the model definition across languages and platforms. Instead, each client requires its own implementation of the app-specific model and conversion to/from Firestore's model which needs to be kept up-to-date as the system involves.
If there were a way to share this model (for ex. proto, JSON schema, other) and easily use it from Firestore APIs, it would reduce dev and maintenance cost and improve developer experience.
3 votes -
Support deleting databases via the API
You cannot delete a Firestore database with the API; you must use the CLI if you want to do this programmatically. This is problematic as it means you essentially need to create a shell in your application, ensure the CLI is available, authenticate, and then make the required CLI call.
2 votes -
Allow developers to use the local Firestore database for free
It'd be really nice if you could allow users to create local drafts, of small documents, for instance, and save them locally for free with Firestore.
This way you wouldn't have to coordinate Firestore and its rules with some other database and client code nor would you have to choose the simpler option of getting charged for writes and reads on remote database documents that really only one user is supposed to write and read.
Please note that while you could use the realtime database to save drafts, 1 it's not always easy to figure out whether that'd actually be…
1 vote -
firestore 'in' 2d array order optional
For some reason an 'in' wury with a 2d array also runs with a sort function. which is not provided or supported by other features such as ArrayUnion and ArrayRemove.
the order should be an optional parameter because using a system where we must find all other documents that have the exact same features but maybe in a different order, is not possible. there is no native sort option when using ArrayUnion, and we've been taught through firestore arrays in general, that orders of items fundamentally shouldn't be considered to exist due to idempotency.
TLDR:
ArrayUnion does not support 'in…1 vote -
Ability to select and copy fields and values in firestore document
Ability to select and copy fields and values in firestore document, more like making everything selectable text.
6 votes -
3 votes
-
Firestore Blocking Functions
Blocking functions for Firestore e.g. block writing a document until a certain condition is met
9 votes -
15 votes
-
Firestore Index Name
As a Firestore project grows, so do the number of Composite Indexes.
While the fields are visible, being able to name a composite index would allow us to define which specific feature(s) a composite index is tied to, allowing us to remove unused indexes if they're no longer relevant.
10 votes -
Firestore return problem path with PERMISSION_DENIED error
While committing a batch to firestore, if a documents breaks one of the security rules, we only receive: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
That doesn't tell me which document in the batch has the issue. Can you add the document path the is causing the error? Potentially in the "cause" field?The logic behind this is that we are seeing Crashlytics reports on our android project with these PERMISSION_DENIED errors, and it is near impossible to track it down without more data.
4 votes -
Rules between Firestore and Realtime Database
We've rules to limit access to data in both firestore and realtime database, but there are requirements where I need to specify a rule of realtime database based on a value in Firestore.
Games are classical examples, I want to store the realtime game data in realtime DB but apply rules to read and write there based on my user and app data in firestore.
Lack of this is either making me use either of the DB or write hard rules in client side (which is not really secure).
10 votes -
Expose subcollections as json fields
Currently, subcollections are treated separately from fields in the UI. This seems like an arbitrary distinction - a subcollection is simply a json object under a document. You could do the same thing with a string field.
The API could support retrieving subcollections as string fields in json format for a document. This would prevent the need to iterate over every document in a collection, then get a list of the subcollections, then retrieve the documents from those subcollections, etc. If worried about time required, since Firestore supports 100 nesting levels, perhaps the API call could include the nesting level…
1 vote -
Allow security rules to validate custom bearer tokens
Currently, Firestore and Cloud Storage security rules
req.authproperty will only validate and accept Google-signed ID tokens from Firebase Auth/Identity Platform.This means that "user authentication rules" CANNOT be used if we rely on our own (or 3rd-party) authentication/token server.
Proposal:
Allow security rules to configure the token verification rules so that they can verify the token claims of a configured token authority. For example, tokens signed by a service account private key, or 3rd party auth server (aside from Firebase Auth/Identity Platform).1 vote -
Query language (like SQL) but for firestore to enable developers to share queries across the whole stack
let's say that you have a Kotlin android app, Swift iOS app, a Dart Flutter app and cloud functions written in typescript.
there should be a way to re-use shared queries across the whole stack.
having a query language like SQL and pass those redundant queries across all apps that would be really efficient and could save developers a lot of time and it could produce less bugs.I'm not suggesting SQL, I'm suggesting to have a query language that's all.
1 vote -
Allow use of document value as query paramter
Especially a parent value of a subcollection. For example, to be able to read data about a User while querying a subcollection called "Responses".
1 vote -
Api to retrieve the list of subCollections present in a collection
We have unstructured data and each document can have different subcollections.
We want to know get the names of all the subcollections present in a collection.Currently we have to iterate over all the documents present in a collection and for each document we are pulling the list of subcollections present in it.
This process is very resource consuming and slow. We have to fire a query for each document present in the collection.Please provide an api something like db.collection("collectioName").listSubCollectionNames();
2 votes -
Feature like RELATE statements
A RELATE statement to adds graph edges between records. Like the convention of vertex -> edge -> vertex or noun -> verb -> noun, enabling the addition of metadata to the edge record.
8 votes -
Support array-contains-prefix operator in Firestore
You can build a search index in a Firestore collection by storing an array of search words.
If you query this property using 'array_contains' you get exact matches for your search string.
If you wish to build a prefix search, then you potentially need to store all prefixes of the words you need to index.Assuming that the array-contains is performing some kind of index scan, it would appear that it was possible to create an array-contains-prefix such that:
where('index', 'array-contains-prefix', 'fire')
would match the following documents[
{ index: ["firestore", "database"],
...
},
{ index: ["firebase", "dog"],
...
}…
7 votes -
Futures feature
Values which should be computed only when outputting data, can be stored as futures.
7 votes
- Don't see your idea?