【问题标题】:'Invalid document reference. Document references must have an even number of segments' in flutter'无效的文档参考。文档引用必须有偶数段'在颤动
【发布时间】:2020-04-27 07:26:16
【问题描述】:

我正在使用带有颤振的 Firestore。尽管阅读了所有可用的参考资料,但我不断收到此错误并且无法解决它。有人可以帮我解决问题吗? 我的代码 -

String uid = '+919101006470';
final snapShot = await db.collection("users").document(uid).get();

错误是

[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, Invalid document reference. Document references 必须有偶数段,但 users 有 1,null)

【问题讨论】:

  • 请编辑问题以显示uid 的确切字符串值。
  • 其实uid是我用过的用户电话号码。文档 id 是用户的电话号码。
  • 您能否编辑问题以共享该实际字符串值?没有它,我们只能猜测发生了什么。我们需要实际值。
  • 我已经编辑过了。
  • 看起来它不会产生您所看到的错误。您确定是导致此错误的uid 的字符串值吗?如果是,请使用 flutterfire 提交错误。 github.com/FirebaseExtended/flutterfire

标签: flutter dart google-cloud-firestore


【解决方案1】:

错误的原因很简单,你有一个包含奇数段的路径,这意味着它指向一个集合而不是一个文档。

最简单的故障排除方法是在调用get()之前打印文档引用的路径:

final ref = db.collection("users").document(uid).get();
print (ref.path);
final snapShot = await ref;

正如 Doug 评论的那样,在您提供的代码中,uid 似乎很可能没有值,但打印路径会显示路径的哪一部分是空的/缺失的。

【讨论】:

  • 我尝试检查路径,但似乎一切正常。
  • 输出 - users/+919101006470
  • 在这种情况下,错误似乎不太可能来自您共享的代码。您确定没有其他地方可以创建文档参考吗?
猜你喜欢
  • 2019-04-17
  • 2018-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-24
  • 2020-11-03
相关资源
最近更新 更多