123 results found
-
onDisconnect for firestore (user presence)
https://firebase.google.com/docs/firestore/solutions/presence
We have a workaround by using Realtime Database, but if you don't work realtime databases in your app, this seems inefficient and cumbersome. I'd like to see a native method for Firestore that offers this functionality. Perhaps offer a onSnapshot.disconnect hook.
47 votes -
Continent
Support multi-region across different continents.
1 vote -
Request Query Parameters for Security Rules
Introduce a request.query.parameters object to store key-value pairs from the query payload, enabling conditional access control based on user authentication state.
Current workarounds, like nesting documents in sub-collections, restrict uniqueness to a single field. This proposal allows queries to be filtered dynamically based on multiple conditions.
For example, access can be restricted based on user authentication state or location.
if request.query.parameters.user == request.auth.uid if request.query.parameters.location == request.auth.token.region if request.query.parameters.email != null if request.query.parameters.email == request.auth.email
Privileged searches can be enabled with conditions such as:
if request.query.parameters.key == request.auth.token.vipkey
Range queries can be implemented using a function object to validate if…
1 vote -
1 vote
-
Firestore collection group query on document id
Currently, you cannot use Fieldpath.document_id for collection group queries, which is rather shameful considering you can do that in Firebase UI.
Relevant StackOverflow: https://stackoverflow.com/questions/56188250/how-to-perform-collection-group-query-using-document-id-in-cloud-firestore
3 votes -
Daily usage limitation chart
We were keep getting the Firestore Quota message tough the usage was just 2% in our billing.
After reaching out to the Firebase team, we found out that there are also daily limitations for each action (Read, Write,..) that was hidden in google cloud console.The suggestion is to make the daily limitation chart visible in Firebase, as this error is effecting the users directly.
3 votes -
Vector embedding search should include distance in results
The newly released capability is https://firebase.google.com/docs/firestore/vector-search is working very nicely! However, all similar products should return the distance metric in the query results (which the backend has no doubt already calculated) so that the client perform further analysis based on that distance
9 votes -
Geohashing examples for firestore Python Admin SDK
I have read this article https://firebase.google.com/docs/firestore/solutions/geoqueries in mentions cool examples on how to implement Geohashes, but I can't find python examples. Is there a recommended way of implementing geohashes on Firebase Admin SDK for python?
2 votes -
122 votes
-
Expose "last updated" metadata
If Firebase cannot support some kind of changestream implementation, it should include metadata on each document that includes a "last updated" timestamp. Then clients can query against this field to only retrieve "new" changes (Inserts, Updates). It lacks support for delete capture but is the next best thing after a changestream.
18 votes -
Firestore return document when it gets updated
As we get the whole document when it is created, it would be nice to get it as well when it gets updated.
Example:
Online game where 4 people join together. In document, we have a list of players with their names. These names should be displayed for all players. Last user joins closing the session. To get the rest of the names after update the document with this last player, I need to do an extra read.Problem:
I am making an entra call for every player, affecting my quota limitation.Solution:
Return updated document.13 votes -
108 votes
-
CMS for Firestore
A CMS for Firestore like Rowy.io & FireCMS
2 votes -
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 -
18 votes
-
assign server timestamp in epoch format
adding a function like FieldValue.serverTimestamp() that does the same thing but assigns time in epoch format rather than in normal date time format.
it may be a better choice in order to reduce the data transfer and document collection size.
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 -
Ability to disable deleting collections and documents from firebase console
In Firebase's Firestore, a user with write access to a project can simply delete any document and even a whole collection with multiple documents with a single click. This is a major security problem as any of my team member may end up deleting a whole collection with millions of documents in under a minute, through the Firebase console.
I would like to request for a feature to disable this.
To be clear - The possibility to grant write access without delete access. Currently, if I am not mistaken, through the User and Permissions panel it's kind of "all or…
13 votes -
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…
2 votes -
Search collections in Firestore by field values
Ability to search collections and documents in the Firestore UI.
87 votes
- Don't see your idea?