首页 > 解决方案 > 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 控制台中。

标签: androidfirebasekotlingoogle-cloud-firestore

解决方案


您应该exists()改用:

if (document.exists()) {
                Log.d(TAG, "DocumentSnapshot: ${document}")
            }

文档

public boolean exists()

如果此快照中存在文档,则返回 true


推荐阅读