无效的文档参考。文档引用必须具有偶数个段

时间:2018-11-14 11:16:49

标签: java android firebase google-cloud-firestore

我正在使用以下代码在集合中查询文档。文档名称与设备名称相同。设备名称是从API传递到文档的,当设备名称包含字母“ /”(如Motorola C380 / C385)时,我得到一个错误。 我收到错误

  

java.lang.IllegalArgumentException:无效的文档引用。   文档引用必须具有偶数个段,但是   手机/摩托罗拉C380 / C385具有3

我知道我收到此错误,因为FireStore将斜线后的名称C385视为文档内的集合。我想知道当文档名称可以包含“ /”时如何摆脱这种情况,在将其插入我的收藏夹之前应该检查并删除它,还是有更好的解决方案?

firebaseFirestore.collection("Mobiles").document(response.body().get(finalI).getDeviceName())

2 个答案:

答案 0 :(得分:1)

尝试

response.body().get(finalI).getDeviceName().toString().replace("/","_")

答案 1 :(得分:1)

我能想到的最简单的方法是,在将数据添加到数据库中以找到禁止的/符号并将其替换为允许的符号之前,假设-(减号)。 / p>

String deviceName = response.body().get(finalI).getDeviceName().replaceAll("/", "-");

然后像这样简单地在您的引用中使用:

firebaseFirestore.collection("Mobiles").document(deviceName);
相关问题