這是我最初用于將檔案添加到子集合“posts”的語法。但我認為 Firebase 版本 9 不支持它
const unsubscribe = db.collection("users").doc(firebase.auth().currentUser.email).collection("posts").add({
imageUrl: currentLoggedInUser.unsername,
user: CurrentLoggedInUser.username,
profile_picture: CurrentLoggedInUser.profilePicture,
owner_uid: auth.currentUser.uid,
caption: caption,
createdAt: serverTimestamp(),
likes: 0,
likes_by_users: [],
comments: [],
}).then(() => navigation.navigate('HomeScreen'))
return unsubscribe
我試過的
const unsubscribe = (doc(collection(db, "users")), auth.currentUser.email, addDoc(collection("posts"), {
imageUrl: imageUrl,
user: CurrentLoggedInUser.username,
profile_picture: CurrentLoggedInUser.profilePicture,
owner_uid: auth.currentUser.uid,
caption: caption,
createdAt: serverTimestamp(),
likes: 0,
likes_by_users: [],
comments: [],
}).then(() => navigation.navigate('HomeScreen'))
return unsubscribe
uj5u.com熱心網友回復:
如果您在一個有意義的命名變數中捕獲其中一些操作的結果,事情就會變得更加可讀。
const usersRef = collection(db, "users");
const userRef = doc(usersRef, auth.currentUser.email);
const postsRef = collection(userRef, "posts");
const promise = addDoc(postsRef, {
imageUrl: imageUrl,
user: CurrentLoggedInUser.username,
profile_picture: CurrentLoggedInUser.profilePicture,
owner_uid: auth.currentUser.uid,
caption: caption,
createdAt: serverTimestamp(),
likes: 0,
likes_by_users: [],
comments: [],
});
return promise.then(() => navigation.navigate('HomeScreen'));
一旦上述作業正常,您可以將前三行重寫為:
const postsRef = collection(db, "users", auth.currentUser.email, "posts");
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/430095.html
