当前位置: 首页 > 知识库问答 >
问题:

在Flatter中查找n个最近的位置:本地数据库(Sqlite)与Cloud Firestore vs Firebase实时数据库相结合

经伟
2023-03-14

我现在正在研究以下主题:

  • 大约8000个存储/对象(唯一ID、名称、地址、纬度、经度、geohash、产品数量X、产品数量Y。)

>

  • 因为数据不经常更改,我计划将更新的本地sqlite数据库放入每个构建

    我将使用实时数据库或Firestore在我的应用程序中接收更新的数据,以避免仅因为数据库已更改而发布新版本

    Firestore:我将只向我的文档添加一个新属性,我将请求比本地数据库版本更新的所有数据,我还将拥有一个包含所有已删除项目的集合

    实时数据库:这里我会有这样的东西

         -updates
                  version1
                           newData: List of unique IDs
                           deletedData: List of unique IDs
    

    我读了很多关于firest上的地理查询,我还发现了一个工作的flutter插件来在serverside上执行此过滤,但因为我的数据没有更改,所以我经常对最佳方法感到非常困惑。

    问题:

    1. 我的方法是一个好主意还是应该忘记本地sqlite DB而只使用Firebase/Firestore
    2. 如果我将使用本地数据库,并且只观察来自后端的更新,那么在定价等方面,我应该使用哪些服务。?(优点Firestore:如果我使用Firestore,我可以通过使用flatter插件轻松切换到Firestore,忘记我的本地数据库)
  • 共有1个答案

    班展
    2023-03-14

    如果您只有几千个对象,并且数据几乎每次都会更改,我通常会考虑在设备上本地查询数据。您可以非常快速地迭代8000个项目,根据用户位置检查它们的纬度/经度。

    然后,您可以使用Firebase存储甚至Firebase托管之类的东西将更新的数据集分发给用户。当然,您也可以使用Firestore或实时数据库来实现这一点,但如果您不使用它们的查询或实时功能,那么有更便宜的方法来分发静态文件。

     类似资料:
    • 然而,敬虔加上知足的心便是大利了,因为我们没有带什么到世上来,也不能带什么去,只要有衣有食,就当知足。但那些想要发财的人,就陷在迷惑、落在网罗和许多无知有害的私欲里,叫人沉在败坏和灭亡中。贪财是万恶之根。有人贪恋钱财,就被引诱离了真道,用许多愁苦把自己刺透了。(1 TIMOTHY 6:6-10) SQLite数据库 SQLite是一个小型的关系型数据库,它最大的特点在于不需要服务器、零配置。前面的

    • 问题内容: 我想从下面的数据库表中找到最近的位置 我已经从Google地图中获取了所有数据。在这里,我必须找到一个地方最近的位置。假设我在Surkhet地方,其纬度为28.6,经度为81.6,如何找到距Surkhet地方最近的地方。 问题答案: 这是最好的查询

    • 问题内容: 我有一个网站,使用数据库提供的地址将位置存储在MySQL数据库和GeoCode中。 现在,我想添加一个功能,该功能将找到最接近指定点的位置,例如他们现在站立或输入的位置。我使用JavaScript和jQuery对地址解析器和Google地图进行编码,然后使用PHP从数据库中获取结果。 我读过有关的信息,但是我无法弄清楚在需要显示自己的数据库位置而不是Google的数据库位置的情况下它将

    • 我想在我的应用程序中使用firestore,因为扩展限制是100万个并发连接。我发现价格是相当高的,特别是当与实时数据库相比,但不能使用它,因为它只有200k左右。 我想知道我是否可以使用firestore,它将在客户端直接访问我的一些数据,这些数据将需要live document侦听器,并且使用实时数据存储更大的数据块,这些数据块将通过firebase函数间接查询。 我的问题是: 如果读/写实时

    • 我是< code>sqlite数据库的新手,在我的项目中,我需要在创建数据库后添加数据。我尝试了这种方式,这是我的代码。 公共类主要活动扩展活动 { } 我创建了另一个类来打开sqlite数据库。 公共类MySqlHelper扩展SQLiteOpenHelper{ 公共字符串getBird(int id){ 它给我异常 帮助我避免这种情况,并在创建数据库后立即插入数据。

    • 问题内容: 给定一个#,我如何发现可以在哪个表和列中找到它? 我不在乎它是否很快,它只需要工作即可。 问题答案: 这是来自上面链接的Stored Proc-我所做的唯一更改是用temp表替换了一个表变量,因此您不必记住每次都将其删除。