【发布时间】:2019-02-05 22:56:52
【问题描述】:
考虑到多个 whereArrayContains() 不起作用,我在嵌套的 HashMap 上遇到多个 whereEqualTo() 的问题。
我正在使用 firebase 制作简单的聊天应用程序,并且在某些时候,我需要确定来自 firestore 的聊天文档是否存在两个用户 ID。我当前用于聊天的 Firestore 设置是:
chatId : {
lastMessageText: string
lastMessageTime: long
memberIds: {
userId1 : true
userId2 : true
}
}
我的代码是:
chatsCollection
.whereEqualTo("memberIds., + currentUser.getUsername() "true") // which is memberIds.userId1
.whereEqualTo("memberIds." + opponentUser.getUsername(), "true")
.get()
.addOnCompleteListener(task -> {
if (task.isSuccessful()) {
if (!task.getResult().isEmpty()) {
// some logic
}
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
});
但总是返回空结果。我检查了firestore,一切都在那里。我错过了什么?
提前致谢。
【问题讨论】:
标签: android firebase google-cloud-firestore