当前位置: 首页 > 知识库问答 >
问题:

是否可以使用Firebase.doc()接收重复的ID?

於意蕴
2023-03-14
const id = db.createId();
const session = { docId: id, name: "test" };
this.db.collection("sessions").doc(id).set(session);

我知道我也可以通过.add()创建一个新文档,然后通过.set()更新docid,但是这个方法需要2个写操作,而且速度也慢得多。

共有1个答案

卫俊力
2023-03-14

doc()总是立即在客户端应用程序上(不是异步地)生成一个带有随机ID的文档,该文档实际上保证是唯一的。两个ID之间发生冲突的几率极低。这实际上与调用add()是一样的,只是它实际上并不是同时创建文档。

注意doc()不直接返回字符串ID,而是返回包含ID的DocumentReference。

另见:

    null
 类似资料:
  • 我想定义一个具有只读属性的接口。例如; 但是,这会在栏上出现语法错误“预期';'”。我已将VisualStudio设置为使用ES5目标,因此支持getter。这是接口的限制吗?将来可能会发生这种变化;能够做到这一点是一件非常好的事情。

  • 我从对象和对象数组中更改了一个对象两次,这样在第一次迭代中,我过滤掉了几个对象,在第二次迭代中,我使用map更改了每个过滤后的对象。我能用减速机或更好的吗?

  • 在模板中使用自定义管道时,如下所示: 而且效果很好。 但它表明 用户名未定义

  • 问题内容: 这个问题已经在这里有了答案 : 如果/否则列表理解 (11个答案) 去年关闭。 这是我试图变成列表理解的代码: 有没有一种方法可以将else语句添加到此理解中? 问题答案: 语法是Python中的三元运算符,其条件为true;否则为。可以在理解语句中使用: 因此,对于您的示例,

  • 问题内容: 在我的测试中,创建者不尊重EXIF标头。 例如,当设备拍摄的肖像图像不会根据相机的方向旋转实际的像素数据,而是将其存储在EXIF标头中时,当我调用和时,它们将返回错误的值(宽度的高度,反之亦然)。 有没有办法 尊重EXIF并产生正确的答案? 如果没有,建议使用哪种模式来处理此问题? 没有经验丰富的Android开发人员的建议,我看到的唯一方法是对拍摄的图像进行预处理(加载,根据EXIF

  • 我想拆分我的验证器的声明和实现,与Spring boot环境中的这个问题非常相似。看起来好像是我让它几乎起作用了。我看到我的验证器实际上是由Spring验证调用的,但在执行验证后,Hibernate会抛出一个异常: 这是因为是一个接口(如预期)。 我已经这样配置了Spring(这是一个不同问题的答案): 我的自定义验证器: 所以它试图通过验证器名称找到一个Spring bean。所以我有一个验证器