我知道这是一个有点奇怪的问题,但是如何在我创建新文档时访问 Google Firebase 为我的文档生成的唯一(自动)ID。例如这是我的代码
val postCollections = db.collection("posts")
val newPost = Post(text, user, currentTime)
postCollections.document().set(newPost)
我怎么知道为这个“newPost”文档生成的 id 是什么,因为我想在我的代码中使用该 id,同时我不想发送自定义 id,因为它不会是唯一的< /p>
答案 0 :(得分:2)
val postCollections = db.collection("posts")
val newPost = Post(text, user, currentTime)
postCollections.document().set(newPost)
您可能已经发现,.set()
返回 Promise <void>
。
但是您忽略了 .set()
仅对 DocumentReference
进行操作 - 这是您从 postCollections.document()
获得的。 DocumentReference
具有属性 id
和 path
- .document()
创建了一个新的、唯一的 documentId。
所以:
val postCollections = db.collection("posts")
val newPost = Post(text, user, currentTime)
val newRef = postCollections.document()
newRef.set(newPost)
现在您可以将文档 ID(和路径)用作 newRef 的属性。
https://firebase.google.com/docs/reference/js/firebase.firestore.DocumentReference