我正在使用Firebase web client for Firestore。我有一个值id,它要么是集合中文档的id,要么是undefined。我希望使用Firestore生成的id创建文档(当id未定义时),或者在定义了id的情况下获取文档,然后侦听文档上的更改。我想留下一个函数unsubscribe,我可以调用它来分离侦听器。如下所示:
let unsubscribe;
if (recipeId) {
unsubscribe = db
.collection("mycollection")
.doc(id)
.onSnapshot(doc => myFunction(doc));
} else {
unsubscribe = db
.collection("mycollection")
.doc()
.add()
.then(docRef =>
db
.collection("mycollection")
.doc(docRef.id)
.onSnapshot(doc => myFunction(doc))
);
}发布于 2020-05-11 04:01:38
要添加具有随机ID的新文档:
const promise = db
.collection("mycollection")
.add({})add()返回一个带有DocumentReference的promise。然后你就可以收听了。
promise.then((ref) => ref.onSnapshot(...))https://stackoverflow.com/questions/61717565
复制相似问题