113 results found
-
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 -
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
7 votes -
Orderby('any_potential_null_field', excludeNull: false) should exist
OrderBy should be able to return collection item when target property is null.
1 vote -
Duplicate document in collection in Firestore
Duplicate document in collection in Firestore
4 votes -
39 votes
-
Request to Have a Firestore Profiler
Similar to RTDB, it would be good to have a way to monitor Firestore usage as it happens. There are many reads happening that I would like to better understand the source of.
38 votes -
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.
3 votes -
Firestore insights dashboard
Same dashboard in GCP as Firestore in datastore mode. Collection storage space usage, index size, data size, etc.
Also, for multi tenancy apps in both modes (using subcollections or multiple databases or also schemas in native mode would be nice to have) an API that can tell how much resources - space, reads, writes, etc. did each customer use, to be able to offer some kind of pay-as-you-go type of subscription.
10 votes -
36 votes
-
34 votes
-
Firestore : Throw error access data with offline cache without enable persistence
When retrieving documents from Firebase's Firestore on the web, if you attempt to read the value from the cache, it will return an empty result.
This seems to be an issue because Firestore's database does not use offline data when accessed from the web by default.
To make developers aware of this, should throw some error if Firestore's database is set to not use offline data, and attempting to read the cache value.
3 votes -
DocumentReference join query
Please add a join query to Cloud Firestore. It seems that using DocumentReference for the join would be appropriate.
30 votes -
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 -
Allow listening to firestore document/query changes without getting a snapshot automatially
The default behavior when listening to a document/query is that you will always get an initial invoke of your listener.
Allowing to change this behavior would give more freedom, in the case that the developer wishes to fetch the initial values asynchronously and then have the changes delivered via the callback.2 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:
1 vote
- Don't see your idea?