使用生成的 uuid v4 创建 firebase 文档如何重复证明?

发布于 2025-01-10 23:44:34 字数 355 浏览 0 评论 0原文

我正在开发一个应用程序,它将向 firestore 数据库注入文档,这些文档将具有由 uuid v4 生成的 id 问题是,不同浏览器上的 2 个用户是否可以使用相同的 id 创建相同的文档?因为 uuid 功能是相同的?如果发生重复,它将覆盖某人的数据!如果 uuid 不是按时间戳生成 id。 否则,两个用户将有相同的参考,这也是非常糟糕的情况! npm uuid 可以用于此目的吗?

import { v4 as uuidv4 } from 'uuid';
const id = uuidv4();

I am working on an app the will inject docs in to firestore database those docs will have an id generated by uuid v4 the question is could 2 user every user on a different browser created same doc with the same id ? since the uuid function is the same ? if a duplicated could occur it will overwrite someone's data! in case if uuid is generation the ids not by timestamp.
other wise 2 users will have same reference which also really bad case ! could npm uuid be used for this purpose ?

import { v4 as uuidv4 } from 'uuid';
const id = uuidv4();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜声 2025-01-17 23:44:34

如果您想在实际添加文档之前获取要添加到 Firestore 的文档的 ID,请查看 添加文档

在某些情况下,使用自动生成的 ID 创建文档引用然后在以后使用该引用可能会很有用。对于此用例,您可以调用 doc()

从“firebase/firestore”导入{collection, doc, setDoc}; 

// 使用生成的 id 添加新文档
const newCityRef = doc(collection(db, "城市"));

// 之后...
等待 setDoc(newCityRef, 数据);

这是 SDK v9 或更高版本的 JavaScript 代码。其他语言的代码可以在上面的链接中找到。

If you want to get the ID of a document you're adding to Firestore before the document is actually added, have a look at this section of the Firebase documentation on adding a document:

In some cases, it can be useful to create a document reference with an auto-generated ID, then use the reference later. For this use case, you can call doc():

import { collection, doc, setDoc } from "firebase/firestore"; 

// Add a new document with a generated id
const newCityRef = doc(collection(db, "cities"));

// later...
await setDoc(newCityRef, data);

This is the JavaScript code for v9 or later of the SDK. Code for other languages can be found at the link above.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文