92 results found
-
Allow String to Timestamp conversion in Firestore rules
In Firestore rule, it could be very powerful to convert String containing date to Timestamp. For example, the RevenueCat extension store date as ISO 8601 string and we can't use them in firestore rule because date are not Timestamp.
In my Firestore rule, I would like to do something like :
timestamp.parse(collection.data.expires_date) > request.time
10 votes -
293 votes
-
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.
35 votes -
107 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.
16 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 -
95 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
7 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.9 votes -
Search collections in Firestore by field values
Ability to search collections and documents in the Firestore UI.
78 votes -
13 votes
-
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…
9 votes -
request.query security rules
currently security rules can only check, "limit, orderby and offset" properties of "request.query" object. if they could check our own custom properties , for example, when users search a collection by id, and I only want them to see a list of documents which contain their id then i should be able to do this in the rules
posts/{postId} {
list: if request.query.id == request.auth.uid
}
- this would be really beautiful and makes it way easy to secure list request.2 votes -
65 votes
-
66 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…
1 vote -
Firestore: Use C++ implementation directly from Swift
Swift has recently gained direct interoperability with C++.
This would allow the current bridging layer written in Objective-C++ to be removed, which would in turn make it possible to use Firestore from Swift cross platform.The Browser Company have created patches for firebase-cpp-sdk to allow this:
https://github.com/thebrowsercompany/swift-firebase
It could also decrease the maintenance burden by removing the bridging layer code.
3 votes -
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
- Don't see your idea?