Comments (5)
From what I can see, you can't limit or sort a within query. I am looking for a solution for this when I stumbled onto your issue. I'd be curious to know if that is possible from the creator.
from geoflutterfire.
Sorry for the delayed response!
- No, sorts are not supported because of the need to perform
orderBy()
on geohashes before filtering them out. So, appendingorderBy()
with another field would mess with thestartAt()
andorderBy()
combination used in the library. You can read about this here - https://firebase.google.com/docs/firestore/query-data/order-limit-data limit()
is a special case, a hard limit on 50 documents is not possible. But, the next best alternative is limiting by 5. The library basically runs 9 queries in a sequence, i.e 1 geohash in the center and 8 surrounding geohashes, all within the specified radius with some edge cases(mostly because of the square shape). So, you can engineer to limit each query to a hard limit of 5, so the number of reads inside each sub-hash is limited to 9*5 reads overall. This is just an alternative solution to control the number of reads that could happen, but not a completelimit()
alternative.
from geoflutterfire.
BTW... It appears that within
returns records sorted by the distance from the center. I did not see that documented.
from geoflutterfire.
@awhitford Thank you for your comment, which saved me the time from testing the ordering of .within() myself. Agreed, it should be documented somewhere.
from geoflutterfire.
Do you think a proper limit functionality will presumably be available? Thanks.
from geoflutterfire.
Related Issues (20)
- Poorly worded/located documentation for using a where statement HOT 1
- Stream doesn't update properly HOT 1
- GoogleMapController Initialization
- in the fact this package get all docs in Firstore , either it meat radius or not !! horrible read me list , not true HOT 1
- near places not meet redious
- How to sort in order of closest? HOT 2
- How to apply geoCollection.within for polygons
- Update dependency to: flutter_lints ^2.0.1 HOT 4
- Not compiling after 3.0.0 when receiving query
- geoflutterfire stopped working with Google IO Firebase plugin updates in pubspec.yaml HOT 1
- Centered on same set of data locations, Query result succeeds or fails depending of the radius
- Getting error on calling GeoFirePoint.data HOT 1
- Empty result when querying "within" on collection HOT 6
- It simple stop working
- Additional Maintainers HOT 4
- Please update flutter_lints pakage to new version or remove from geoflutterfire HOT 4
- cloud_firestore: ^4.0.2 - compatibility HOT 7
- Cloud Call Error when querying documents through GeoFlutterFire
- Example: Could we replace BehaviorSubject with Dart StreamController?
- geoflutterfire >=3.0.2 depends on cloud_firestore ^3.1.6, but I have cloud_firestore ^4.4.4. I have to downgrade to make it work? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from geoflutterfire.