gpt4 book ai didi

firebase firestore 在事务中添加新文档 - transaction.add 不是函数

转载 作者:行者123 更新时间:2023-12-04 17:14:35 25 4
gpt4 key购买 nike

我假设可以执行以下操作:

transaction.add(collectionRef,{
uid: userId,
name: name,
fsTimestamp: firebase.firestore.Timestamp.now(),
});

但显然不是:

transaction.add is not a function



上述消息显示在 chrome 控制台内。

我看到我们可以使用 以事务方式添加新文档的事务方法。见: https://firebase.google.com/docs/firestore/manage-data/transactions

问题是如果我使用 而不是添加(无论如何都不支持),文档的 id 应该由我手动创建,firestore 不会创建它。
见: https://firebase.google.com/docs/firestore/manage-data/add-data

您是否看到没有自动为您生成 id 的 add 方法的任何缺点?

例如,考虑到包括性能在内的各种问题,firestore 本身生成的 id 是否有可能以某种方式进行了优化?

在使用 transaction.set 时,您使用哪个库/方法在 react-native 中创建文档 ID?

谢谢

最佳答案

如果您想生成一个唯一 ID 以供以后在事务中创建文档时使用,您只需使用 CollectionReference.doc()没有参数来生成 DocumentReference,您可以稍后在事务中 set() 。

(你在答案中提出的是为了同样的效果而做更多的工作。)

// Create a reference to a document that doesn't exist yet, it has a random id
const newDocRef = db.collection('coll').doc();

// Then, later in a transaction:
transaction.set(newDocRef, { ... });

关于firebase firestore 在事务中添加新文档 - transaction.add 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55674071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com