如果您可以查看下面的图片,我可以在testRef节点中查询数据引用。但是,如果我能够在coRef节点中查询数据,如
documentSnapShot.getDocumentReference(" COREF / DxFXp3TGc8X8UciPSeqO&#34)
我得到例外:
无效的字段路径(coRef / DxFXp3TGc8X8UciPSeqO)。路径不得包含'〜',' *',' /',' ['或'] '
不工作代码:
documentSnapshot.getDocumentReference("coRef/"+entry.getKey()).get()
.addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if(task.isSuccessful()){
DocumentSnapshot documentSnapshot1 = task.getResult();
Log.v("Rajesh","Result"+documentSnapshot1.getData());
}
}
});
工作代码:
documentSnapshot.getDocumentReference("testRef")
.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if(task.isSuccessful()){
DocumentSnapshot documentSnapshot1 = task.getResult();
Log.v("Rajesh","Result"+documentSnapshot1.getData());
}
}
});
答案 0 :(得分:2)
错误消息告诉您确切的错误:
无效的字段路径(coRef / DxFXp3TGc8X8UciPSeqO)。路径不得包含&#39;〜&#39;,&#39; *&#39;,&#39; /&#39;,&#39; [&#39;或&#39;] &#39;
您的路径中包含/
字符,您可以从代码行中看到:
documentSnapShot.getDocumentReference("coRef/DxFXp3TGc8X8UciPSeqO")
(其中包含无效的/
。)
如果要引用文档中对象的属性,请尝试使用以下内容:
documentSnapShot.getDocumentReference("coRef.DxFXp3TGc8X8UciPSeqO")
或者
documentSnapShot.get(FieldPath.of("coRef", "DxFXp3TGc8X8UciPSeqO"))