103 results found
-
Wildcard index exemptions
Firestore automatically indexes all fields in all collections adding to storage size and slowing write performance.
We can add single-field exemptions but we need to list all fields separately and there is a database-wide limit of 200 field exemptions.
In a highly optimised use case we would want to index only specific fields that we know we query on, and just exclude all others.
It's almost like the current behaviour is a database for novices, but we can't optimise for serious production.
We need either a wildcard exclusion, or effectively just a switch/setting that says "only fields with explicit index…
6 votes -
Support array-contains-prefix operator in Firestore
You can build a search index in a Firestore collection by storing an array of search words.
If you query this property using 'array_contains' you get exact matches for your search string.
If you wish to build a prefix search, then you potentially need to store all prefixes of the words you need to index.Assuming that the array-contains is performing some kind of index scan, it would appear that it was possible to create an array-contains-prefix such that:
where('index', 'array-contains-prefix', 'fire')
would match the following documents[
{ index: ["firestore", "database"],
...
},
{ index: ["firebase", "dog"],
...
}…
6 votes -
Futures feature
Values which should be computed only when outputting data, can be stored as futures.
6 votes -
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 -
Encrypted Collections in Firestore
Ability to mark certain collections to be Encrypted so it's not readable even in the firebase console.
There are some application types that require this sort of behaviour to increase security.
Say you are building a messaging app, you would not want the messages between your users to be seen on the console.
5 votes -
It's impossible to import data into the emulator without first exporting, which is a backwards design
Developers should be able to use the CLI to easily pass in a path to a json file, whose contents may be imported into a firestore emulator collection. For instance:
firebase emulators:start --import ./data/import.json --collection=puzzles
4 votes -
Firestore return problem path with PERMISSION_DENIED error
While committing a batch to firestore, if a documents breaks one of the security rules, we only receive: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
That doesn't tell me which document in the batch has the issue. Can you add the document path the is causing the error? Potentially in the "cause" field?The logic behind this is that we are seeing Crashlytics reports on our android project with these PERMISSION_DENIED errors, and it is near impossible to track it down without more data.
4 votes -
Way to access tracelog of firestore events (onCreate, onUpdate, onDelete)
One frequent and strange bug we are facing with firestore is the dropping of events when designing large batch onWrite-listeners. This leads to unexpected bugs in production code.
For some reason, when executing say 300 to 1000 onCreates at once, different events seem to drop and are never responded too.
A way to access the tracelog of firestore events (in Stage 1 Cloud functions) would help us debug this problem. It would also help replay event streams in case the database is corrupted due to non-responding to the event streams.
4 votes -
Allow running Firestore queries from console
Running quick queries straight from the console is currently impossible, making it hard to make adjustments DB wide without fiddling with code.
4 votes -
Speed up Firestore Index Creation
I absolutely love the fact how firebase handles non-existing indexes with a link to the creation of an index.
I also understand, that building the index, even for an empty database takes a couple of minutes, but maybe there is something you can do to speed up the process.3 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 -
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 : 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 -
Duplicate document in collection in Firestore
Duplicate document in collection in Firestore
3 votes -
Add option to save a query in Firestore Query Builder
I have some queries that I perform frequently through Firestore Query Builder. It would be great to save queries to be able to run them with one click.
3 votes -
Provide a way to document and share models across platforms.
Afaik there is currently no standard way to a) document the structure and organization of Firestore collections and documents stored in a project expected by apps which use it, and b) share the model definition across languages and platforms. Instead, each client requires its own implementation of the app-specific model and conversion to/from Firestore's model which needs to be kept up-to-date as the system involves.
If there were a way to share this model (for ex. proto, JSON schema, other) and easily use it from Firestore APIs, it would reduce dev and maintenance cost and improve developer experience.
3 votes -
Create way to duplicate documents within firebase console so we can easily move them elsewhere
Sometimes it would be nice to have ability to use the console to Duplicate/Copy firestore documents and put them in different locations of the database.
3 votes -
Rules Debugger with Breakpoints
Imagine how cool it would be to have a debugger for my rules, where I can put breakpoints and see what exact data or condition is causing my rules to fail or pass.
Often times I had to spend so much time in trial and error when writing complex rules for my application. If there is a debugger like I mentioned which is more like any other IDE, it would be super easy and a great developer experience.
3 votes -
A "--no-document-updates" flag for Firestore import
It has happened to me that I accidentally deleted some documents. While you can restore a collection from a backup, there is no option to not overwrite existing data.
This unfortunately makes it impossible to restore accidentally deleted documents, without also affecting other documents that have changed since you last made that backup. The restore would undo lots of changes that happened after the backup was made.
I think a very effective and simple solution could be to allow only injecting those documents from the backup that do not exist in de target collection. So no document is ever overwritten/updated…
3 votes -
3 votes
- Don't see your idea?