127 results found
-
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]byteconverts 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 -
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…
9 votes -
Search collections in Firestore by field values
Ability to search collections and documents in the Firestore UI.
87 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.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 -
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 -
53 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
- Don't see your idea?