![](/img/trans.png)
[英]How to write data to a subcollection of Firestore in v9 react JS
[英]How to get auto-generated ID of newly created document in a subcollection in Firestore Web V9? Javascript/React
onClick 我在一个包含用户文档的子集合中创建一个新文档。
这是那个函数:
// Create a new checkout session in the subcollection inside this users document
const createCheckoutSession = async () => {
const collectionRef = collection(db, 'users', currentUser.uid, 'checkout_sessions');
const payload = {
price: 'price_1JvjWLChfN4TVWbYw2LdDXZZ',
success_url: window.location.origin,
cancel_url: window.location.origin
};
await addDoc(collectionRef, payload);
// TODO – Get the newly created document's id.
};
我的目标是获取新创建的文档的 ID。 然后在该文档中获取一个字段以触发重定向到 Stripe 结帐。
在 Firestore Web V8 中,我很确定我会使用:
collectionRef.onSnapshot(async (snap) => {
const { sessionId } = snap.data();
if (sessionId) {
// We have a session, let's redirect to Checkout
// Init Stripe
const stripe = await getStripe();
stripe.redirectToCheckout({ sessionId });
}
});
如何将新创建的文档的 ID 列表作为上面的// TODO
?
addDoc
函数向新添加的文档返回一个Promise<DocumentReference>
。 所以你可以通过以下方式获取 ID:
const docRef = await addDoc(collectionRef, payload);
console.log(docRef.id);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.