0
我公司的FireStore結構看起來是這樣的:公司的FireStore:從收集查詢所有文檔
-(coll)users
-(doc)uniqueID
name
email
(coll)clients
-(doc)uniqueID
clientName
clientEmail
我想實現如下:
- 通過FirebaseUI驗證流程的用戶登錄
- 如果用戶(從Auth恢復的uid)在firestore db中不存在,我創建一個由他的用戶名命名的文檔
- 一旦我有了uid,我運行一個查詢來加載clie nts收集,以便使用RecyclerView將它們顯示在列表中(如果收集爲空,則用戶尚未創建任何客戶端,但我顯示空列表屏幕)
我試圖使用下面的代碼爲每documentation:
clientsCollection = db.collection(FIRESTORE_COLLECTION_USERS)
.document(mUid)
.collection(FIRESTORE_COLLECTION_CLIENTS);
clientsCollection
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()){
for (DocumentSnapshot document: task.getResult()){
Log.d(LOG_TAG, document.getId() + " => " + document.getData());
}
} else {
Log.d(LOG_TAG, "error getting documents: ", task.getException());
}
}
});
我得到以下RuntimeException
:
java.lang.NullPointerException: Provided document path must not be null.
我得到這個即使客戶端收集退出一些文檔它由獨特的用戶名命名。
感謝您的任何線索,你可以給我! :)