db.collection()。document()。get()永远不会返回null

时间:2019-06-01 21:09:07

标签: android firebase kotlin google-cloud-firestore

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控制台中。

1 个答案:

答案 0 :(得分:1)

您应该改用exists()

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

来自docs

  

public boolean exists()

     

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