android - db.collection().document().get() 从不返回 null
问题描述
MainActivity.kt
val db = FirebaseFirestore.getInstance()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val user = db.collection("zzz").document("ttt")
user.get()
.addOnSuccessListener { document ->
if (document != null) {
Log.d(TAG, "DocumentSnapshot: ${document}")
}
}
我的Log
指纹DocumentSnapshot: DocumentSnapshot{key=zzz/ttt, metadata=SnapshotMetadata{hasPendingWrites=false, isFromCache=false}, doc=null}
。
无论我创造什么collection()
价值或document()
价值user
——它永远不会回来null
。
为什么是这样?
PS:该文档也没有出现在我的 Firebase 控制台中。
解决方案
您应该exists()
改用:
if (document.exists()) {
Log.d(TAG, "DocumentSnapshot: ${document}")
}
从文档:
public boolean exists()
如果此快照中存在文档,则返回 true
推荐阅读
- python - 将 stats.percentileofscore 逐列应用于每一行
- jquery - 对话框不是对话框中的函数对话框
- apache-spark - 连接到 google BQ 时通过 spark-submit 运行时出错
- tensorflow - 重新训练 MobilnetSSD v1 TensorFlow 时结果不佳
- c++ - Cout 是空的,我不知道为什么
- java - 模式不允许包含数字的单词?
- javascript - 将不同的 URL 分配给不同的 ID
- azure - 如何使用 Azure DevOps 阶段的 Docker 映像?
- smtp - 无法通过 PHP 验证 SMTP
- excel - 在具有可变范围的列中查找重复项并在单独的列中计数