首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Firestore get document by Id不存在,但确实存在

Firestore是一种云原生的NoSQL文档数据库,由Google Cloud提供支持。它是一种灵活的、可扩展的数据库解决方案,适用于各种规模的应用程序。

针对你的问题,如果Firestore中根据文档ID获取文档时返回不存在,但实际上文档确实存在,可能有以下几种可能的原因和解决方法:

  1. 数据同步延迟:Firestore是一个分布式数据库,数据在多个地理位置进行复制和同步。在某些情况下,可能会出现数据同步延迟的情况,导致在某个特定的地理位置上查询文档时返回不存在。解决方法是等待一段时间,再次尝试查询。
  2. 访问权限问题:Firestore具有强大的访问控制功能,可以根据规则限制对文档的访问。如果你没有适当的权限来访问该文档,即使文档实际上存在,也会返回不存在。解决方法是确保你具有适当的访问权限,或者联系管理员进行权限调整。
  3. 错误的文档ID:确认你使用的文档ID是正确的。如果文档ID错误,当然会返回不存在。可以通过检查文档ID是否正确拼写或者使用其他唯一标识符来确认。

总结起来,当Firestore根据文档ID获取文档时返回不存在,但实际上文档确实存在时,可能是由于数据同步延迟、访问权限问题或者错误的文档ID导致的。解决方法是等待一段时间,检查访问权限,确认文档ID的正确性。

腾讯云提供了类似的云数据库产品,可以考虑使用腾讯云的云数据库MongoDB版(https://cloud.tencent.com/product/mongodb)或者云数据库TDSQL版(https://cloud.tencent.com/product/tdsql)来替代Firestore。这些产品提供了可靠的、高性能的数据库解决方案,适用于各种应用场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flutter 2.8正式版发布了,还不来看看

你还可以通过在可用用户标签列表中选择此用户标签过滤器(如果存在)来加载应用启动配置文件。选择此标签会显示你的应用启动的个人资料数据。...数据的 UI 界面 Flutter 中使用 Firestore Object/Document 映射的支持进入 Alpha 版 生产质量 The FlutterFire plugins 几乎已经全部从测试版转为文稳定版...Firestore Object/Document 映射 (ODM) 我们同时发布了 Firestore 对象 / 文档映射 (ODM) 的 Alpha 版本,Firestore ODM 的目标是让开发者更高效的通过类型安全...虽然我们确实收到了一些关于 dev 渠道的问题,但我们发现只有不到 3% 的 Flutter 开发人员使用 dev 渠道,因此,我们决定 不久将正式停用 dev 渠道。...诚然,我们正在为世界上越来越多的开发人员构建 Flutter,如果没有你和每位开发者的存在,我们也无法维护并构建它。Flutter 社区与众不同,感谢你所做的一切

22.4K30

如何用TensorFlow和Swift写个App识别霉霉?

labels_dir=path/to/training/label/xml/ 第二步:在 Cloud ML Engine 上训练 Taylor Swift 识别器 我其实也可以在自己的笔记本上训练模型,这会很耗时间...Object Detection API 也需要一个 pbtxt 文件,会将标签映射为一个整数 ID。因为我只有一个标签, 所以 ID 非常短。...将它们保存在本地目录中,我就可以使用Objection Detection的export_inference_graph 脚本将它们转换为一个ProtoBuf。...detection_classes 会告诉我们检测结果相关的标签 ID。在我们的这里例子中会一直只有一个 ID,因为只有一个标签。...该函数会取代上面第一个 Swift 脚本中的注释: self.firestore.collection("predicted_images").document(imageName!)

12.1K10
  • 我们弃用 Firebase 了

    事实上,Firebase 有许多方面是我们喜欢的: 使用 Firestore,许多客户端状态管理方面的挑战都不复存在,特别是与数据新鲜度有关的问题。 免费就可拥有的实时体验。...Firestore 的文档 / 集合架构:它迫使人们仔细考虑数据建模。它还反映了一个直观的导航方案。 Firestore 中的关系数据也是如此。...综上所述,Firebase 存在的大多数问题都来自谷歌所有权,它们让我很恼火。...据我所知,这个配额已经存在有一段时间了。 最近,Cloud Function 部署在达到这个配额后开始悄然失败。...其开发体验令人愉快,特别是行级安全,那与 Firestore 规则类似,更为强大。Supabase 正基于 Deno 开发他们的无服务器函数套件,这表明他们对优秀的技术很重视。

    32.6K30

    Flutter 移动端架构实践:Widget-Async-Bloc-Service

    在过去的一年中,各种不同的状态管理技术被提出,截至目前,Flutter的团队和相关社区还没有得出单一的 首选解决方案。...但是,Service和BLoC之间存在一个本质性的区别,那就是: BLoC可以持有和修改状态。 Service不能持有和修改状态。...示例: Firestore service 我们可以实现一个FirestoreDatabase的Service作为Firestore的指定域的API包装器。...输入的数据(读取):将来自Firestore文档的键值对的流转换为强类型的不可变数据Model。 数据输出(写入):将数据Model转换为键值对,以便写入Firestore。...RxCommand很强大,然而,它确实也带来了更陡峭的学习曲线。我的感受是,尽管需要一些额外的样板代码,但是Async-Bloc可以保证完成工作并且更简单。

    16.1K20

    ES学习笔记(八)数据的增删改

    >,这种添加数据的方式,我们得出结论如下: 不指定时,ES会为我们自动生成id; 指定时,且id在索引中不存在,ES将添加一条指定id的数据; 指定时,id在索引中存在,...POST //_doc/这种方式的总结如下: 必须指定,不指定会报错; 在索引中不存在,为添加新数据; 在索引中存在,为修改数据; _doc这种请求的...,不能再添加新记录,看来_create这种方式还是比较严格的,总结如下: id必须指定; 指定的id如果在索引中存在,报错,添加不成功; 指定的id在索引中不存在,添加成功,符合预期; 再看看_create...必须指定; id必须在索引中不存在Document的删除 有了添加,肯定会有删除,删除的方式很简单,请求格式如下: DELETE //_doc/ 发送delete请求,指定数据的...根据id查询Document 根据id查询数据也很简单,发送如下请求就可以完成查询, GET /_doc/ 我们需要指定索引的名称,以及要查询数据的id,如下: GET ik_index

    66320

    ES学习笔记(八)数据的增删改

    >,这种添加数据的方式,我们得出结论如下: 不指定时,ES会为我们自动生成id; 指定时,且id在索引中不存在,ES将添加一条指定id的数据; 指定时,id在索引中存在,...POST //_doc/这种方式的总结如下: 必须指定,不指定会报错; 在索引中不存在,为添加新数据; 在索引中存在,为修改数据; _doc这种请求的...,不能再添加新记录,看来_create这种方式还是比较严格的,总结如下: id必须指定; 指定的id如果在索引中存在,报错,添加不成功; 指定的id在索引中不存在,添加成功,符合预期; 再看看_create...必须指定; id必须在索引中不存在Document的删除 有了添加,肯定会有删除,删除的方式很简单,请求格式如下: DELETE //_doc/ 发送delete请求,指定数据的...根据id查询Document 根据id查询数据也很简单,发送如下请求就可以完成查询, GET /_doc/ 我们需要指定索引的名称,以及要查询数据的id,如下: GET ik_index

    1.7K30

    ElasticSearch权威指南学习(文档)

    ", "date": "2014/01/01" } 检查文档是否存在 只是检查文档是否存在——你对内容完全不感兴趣——使用HEAD方法来代替GET。..._source.views+=1" } 更新可能不存在的文档 想象我们要在Elasticsearch中存储浏览量计数器。每当有用户访问页面,我们增加这个页面的浏览量。...如果这是个新页面,我们并不确定这个计数器存在与否。当我们试图更新一个不存在的文档,更新将失败。 在这种情况下,我们可以使用upsert参数定义文档来使其不存在时被创建。...我们定义了类型为blog,但是ID为1的文档类型为pageviews。这个不存在的文档会在响应体中被告知。..." : "1", "found" : false //没被找到 } ] } 事实上第二个文档不存在并不影响第一个文档的检索。

    96630

    WEB安全Permeate漏洞靶场挖掘实践

    m=tiezi&a=index&bk=5 在URL中可以看到,有三个参数,根据经验来说,前面两个参数m和a有点像是路由,所以这两个先暂时用排除法排除,最后一个参数bk是一个数字,感觉应该是板块的ID...m=tiezi&a=index&bk=5' 这个时候看一下页面的运行效果如何,发现帖子列表中帖子已经不存在了. ?...通过sqlmap的反馈结果可以看出,这个地方确实存在了注入问题. 下面我们接着找一下XSS漏洞漏洞 二....在页面中确实没有存在token信息,因此我们可以初步得出结论,这个地方存在CSRF的可能,现在需要验证一下, 在验证的时候我们需要制定CSRF有GET型和POST型,get型利用起来相对简单很多,而在这个地方表单提交虽然是通过...POST,并不排除GET提交也可以利用,所以我们先尝试用GET型来提交数据,先通过抓包浏览器的网络分析模块来看,发帖会发送哪一些数据,如下图 ?

    1.7K30

    19.Elasticsearch更新文档5---局部更新4---官方文档翻译

    它使用版本控制来确保在“get”和“reindex”期间没有发生更新。 注意,这个操作仍然意味着文档的全部重索引,它只是删除了一些网络往返,减少了get和索引之间的版本冲突的机会。...1/_update { "doc" : { "name" : "new_name" }, "detect_noop": false } Upserts 如果文档不存在...如果文档确实存在,那么脚本将被执行: POST test/type1/1/_update { "script" : { "inline": "ctx....routing 路由被用来将更新请求路由到正确的分片,如果更新的文档不存在,则为upsert请求设置路由。不能用于更新现有文档的路由。...parent 父进程用于将更新请求路由到正确的分片,如果更新的文档不存在,则将父进程设置为upsert请求。不能用于更新现有文档的父路由。如果指定了别名索引路由,那么它将覆盖父路由,并用于路由请求。

    1.4K30
    领券