103 results found
-
1 vote
-
Support UUID as a data type
I'm using Go client, and at this time UUIDs are represented as array of numbers. This doesn't make any sense and is quite clunky and unergonomic, but this is the client behaviour - the Go type
[16]byte
converts to that, and there is no way to affect it directly.This also means that a list of UUIDs is impossible to represent at all, since a Go slice converts into an array, and Firestore can't handle arrays in arrays. Btw, that by itself is ridiculous, but right now my problem is with UUIDs specifically.
A list of IDs is a trivial…
1 vote -
Allow cross-project restoring of Firestore databases
When working with Firestore databases, you may want to restore an entire database for testing in your stage project.
However, currently, you can only restore in the same project
1 vote -
Replace collection with new set of documents as an atomic operation
Many time, we have a collection that is created using data received from an API call and the collection needs to be reset to the new data received in the next API call. For e.g., I have a collaborative app. Each user can see who else in their address-book using the app, such that they can collaborate with them. I send the phone contacts to the backend and we check which contacts and using the app and initialize the contacts collection. The phone contacts are synched every day. The next day, when we get the phone contacts, I want simply…
1 vote -
rules map
In Firebase Firestore rules, we currently have various controls and functions, which are very handy. However, array management is not optimal. I propose introducing a map function for arrays in Firebase Firestore rules. This function would allow us to map arrays of objects, significantly simplifying the creation and management of rules.
1 vote -
Allow to assign tags to Firestore databases
With multi-db support in Firestore now launched, this enabled many possibilities but also requires more granular inventory management of the databases created.
--
For compliance reasons and for better management of your cloud assets, it's important to assign metadata to your cloud resources.
Especially for storage services, this is important, as it allows you to track which resources contain PII, who owns them, etc.--
Attaching this kind of data is typically done using tags in Google Cloud.
If it would be possible to attach tags to individual Firestore databases, this would solve the management of databases and allow easier…1 vote -
Allow to attach IAM permissions to databases
With multi-db support in Firestore now launched, this enabled a ton of new features, though the way permissions are granted is not ideal.
--
Instead of being able to attach permissions to individual databases, you have to use conditional IAM permissions on a project level.
--
This leads to problems when you want to grant IAM permissions to employees with access to only a subset of databases.
Granting a subset of databases to access will prevent them from using the Firebase / Google Cloud console, as they will not have permission to view all databases.--
Also conditional IAM permissions…
1 vote -
Allow use of the filter value on whereArrayContains within a firestore rule
I believe that by simply allowing access to the whereArrayContains filter value, it should be possible to solve for a use-case which can generally only be resolved using an SQL/relational database or cloud functions.
Take the following query;
getDocs( query( collection(db, "profiles"), where("groupProfileLinkIdReference", "array-contains", "groupProfileLinkId1"), limit(1), ), )
If we can access the value which in this case is "groupProfileLinkId1", it becomes possible to do the following;
match /profiles/{profileId} { allow list: if validateListProfileDbEntry(); } function validateListProfileDbEntry(){ let groupProfileLinkId = resource.data.groupProfileLinkIdReference[0]; let groupProfileLink = get(/databases/$(database)/documents/groupProfileLink/$(groupProfileLinkId)).data; return groupProfileLink.isApproved == true; }
The way the data is modelled is that every time…
1 vote -
Orderby('any_potential_null_field', excludeNull: false) should exist
OrderBy should be able to return collection item when target property is null.
1 vote -
Expose createTime & updateTime in scheduled Firebase LevelDB exports
I am using this procedure for regular backups: https://firebase.google.com/docs/firestore/solutions/schedule-export
and some tooling to locally analyze data in the resulting (downloaded) LevelDB backups.The Admin SDK exposes (internally, but still) createTime, readTime and updateTime properties on snapshots. I don’t see these properties included in the database exports; which makes them less complete as backups, and less useful for data analysis.
1 vote -
provide feedback on database restore progress
During a restore, there's no way to know how long it will take or where the progress is. It would be great to have some visibility into the process.
I initiated a restore from a backup created by the automated schedules
gcloud alpha firestore databases restore \
--source-backup=projects/PROJECTID/locations/LOCATION/backups/BACKUPID \
--destination-database='DATABASE_ID'I have seen this take between 20 minutes to over a day.
The documentation for this feature is here:
1 vote -
structure and organization of Firestore collections: documentation
Normally documentation about collections is done in a 3rd party tool like notion, jira, google docs (or notepad for the brave ones).
After a while this easily becomes inconsistent due to ongoing changes throughout the project development. The same way as we document code directly in the code file, it'd be great to document collections directly in the firestore console.
For this, something simple like a text input would suffice (ideally with some minimal markdown, but not mandatory). If developers need to add more detailed info or explanations (and make use of charts, designs, videos, whatever) they could simply add…
1 vote -
Support offline capabilities for mobile using React Native
I can see offline capabilities for mobile using Kotlin, Java, Swift and Objective-C. I am requesting offline support for React Native application.
1 vote -
Raise the Firestore Rules Expression Limit
Raise the maximum expression limit for firestore rules to make more complex doc schema validation possible.
1 vote -
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 -
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.auth
property 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 -
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 -
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
- Don't see your idea?