更新:该循环有600个用户被创建。我将这个数字降低到200,交易突然生效了!与批处理相反,文档说到他们可以处理“任意数量的写操作”的事务,那么,为什么这可能是问题的任何想法?
首先,我要回顾一下我在该主题上找到的所有帖子,但似乎没有一个答案能有效回答我所知道的问题。
我正在运行一个事务,在其中有一个for循环,用于设置新的用户数据。我创建了一个对象,然后尝试将其设置为新文档,但是出现错误:{“ code”:“ invalid-argument”,“ name”:“ FirebaseError”}
对象内部的数据都很好,而且所有参数都不是“未定义的”,因此我不确定Firestore可能在抱怨什么。
const newUser = {
email: usersJson[nextUserToAssign].email,
contractId: contractDoc.id,
companyId: companyId,
status: "pending",
createdAt: new Date(),
updatedAt: new Date()
}
if (nextUserToAssign === 0) {
console.log(newUser)
console.log(firestore.collection('licenses').doc())
}
transaction.set(firestore.collection('licenses').doc(), newUser)
文档引用似乎很好,并且该对象将打印以下内容:
{
companyId: "pfr38Q3iNvGYLiMMtjLk"
contractId: "0y9OAJwqlmgkf9SzGB4i"
createdAt: "2019-02-01T18:42:49.358Z"
email: "clovie0@opensource.org"
status: "pending"
updatedAt: "2019-02-01T18:42:49.358Z"
__proto__: Object
}
您对问题可能有什么想法?