123 results found
-
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.3 votes -
Similar to __name__, allow ordering documents by internal createdAt / updatedAt sentinel value
A document always maintain createdAt / updatedAt timestamp value internally. But these fields can't be used for ordering documents.
For example :-
(This is possible)
await citiesRef.orderBy('name').limit(3).get();
(This is NOT possible)
await citiesRef.orderBy('created_at').limit(3).get();
Currently if we need order by timestamp, we need to maintain a separate timestamp field alongside internal createdAt / updatedAt fields. Then create index over that additional field to perform order by timestamp.
Similar to name sentinel, firestore should provide created_at and updated_at sentinel for ordering document. These sentinel should work without any new index, ascending or descending order.
1 vote -
Improve firestore explorer UI - it is too small
The UX when reading large objects in the firestore explorer UI requires too much scrolling in small windows to find the information you are after. I'd propose to:
Note: "window" here refers to where the container where the data of a document can be found or alternatively where all the collection can be found. So the firestore explorer contains usually, a collection window, a document window, (a sub collections window, a document window,...).
- collapse maps by default, or collapse maps if the object is larger than the current window. When dealing with large objects it's currently annoying to find the…
8 votes -
Enable keyboard navigation in Firestore console to move between documents using up/down arrow keys.
I suggest that Firebase enhances the Firestore console by adding support for keyboard navigation, allowing users to move between documents using the up and down arrow keys. This feature would improve accessibility and efficiency, especially for users who prefer using the keyboard over the mouse or trackpad. Implementing this functionality would make data management in Firestore more user-friendly and accessible to a wider range of users.
1 vote -
Filter on reference fields in the Firestore panel
There is currently no way to filter on reference fields in the Firestore panel of the Firebase console.
23 votes -
76 votes
-
No Sudan listed in the country list
Hi Team,
We are supporting our services in Sudan also, but the country is not listed in remote config country list.
How to provide country specific config to Sudan?Thanks & Regards,
Ram2 votes -
75 votes
-
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 -
Transactions should allow exponential backoff retries like pub sub
Transactions allow passing an options object with maxRetries, but all retries are immediate. If there are many other functions writing the same document, transactions will fail after all retries (lock will time out). Maybe a better strategy would be to delay with exponential backoff like pub sub does.
4 votes -
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:
3 votes -
Security Rules: unique() operator
I am submitting a feature request to introduce a 'unique()' operator in Firestore's security rules, offering a streamlined method to enforce data uniqueness within collections. This operator would not only simplify validation and potentially reduce reads by leveraging Firestore's hidden index table, but also eliminate the need for a separate cloud function, similar to the 'get()' and 'exists()' operations.
Background:
At present, ensuring data uniqueness in Firestore often requires workarounds that are less than optimal and can impact scalability.
Feature Proposal:
The proposed 'unique()' operator would operate much like the 'exists()' operation, but with a focus on reading Firestore's concealed…
25 votes -
Support deleting collections in the API
Currently you can only delete collections programmatically via the CLI. Otherwise, you have to list and delete every single document in the collection. If those documents have nested collections, you have to (recursively) retrieve and delete every document in the nested collection (As deleting a document does not delete any nested collections the document has). If there are additional levels of nested collections... You get the idea.
I wasn't sure what this other request was referring to so I made this one: https://firebase.uservoice.com/forums/948424-general/suggestions/46562317-api-support-for-deleting-directories
9 votes -
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 -
Changestream
Firestore does not support any actual CDC (Change Data Capture). A changestream similar to other NoSQL implementations (Mongo, DocumentDB, Azure Cosmos DB) would make the database a lot more usable and grant feature parity with other popular NoSQL databases. This changestream would expose operations like updates, inserts, and deletes for a client to come and retrieve from either a timestamp or a resume token.
8 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 -
Support offset-based document access and pagination
There should be an easy way to get a specific document by index in a query:
// this query should work as it's read, if i wanted to use gte i'd use a where
query(this.collection, orderBy('anything', 'asc'), startAt(index), limit(1))
5 votes
- Don't see your idea?