【发布时间】:2018-07-03 16:37:51
【问题描述】:
我希望将一个名为“quoteIdentifier”的变量分配给一个递增的整数。我的用例是每次有人向我的 firestore 数据库提交报价时,报价都会自动分配一个整数作为排序 ID。
所以如果我的第一个用户在表单中输入他们的信息 - 它会分配整数 1 然后第二个用户输入他们的信息,代码引用分配的最后一个整数,并递增 1.. 所以类似于 lastEntryInt ++。这甚至可以引用最后分配的值吗?也许我从firestore字段中读取了最后分配的内容?任何帮助将不胜感激!
【问题讨论】:
-
我很好奇为什么您需要一个递增的整数来同步所有用户?你能不能只分配一个随机的唯一 ID,上传到 FireStore,然后根据 ID 的数量查询用户数量?还是有理由需要增加 1?
-
我很赞同这种计数器通常并不理想,因为它们成为多用户应用程序中的争论点。也就是说:事务正是针对这种“读取当前值和更新”操作的。你可以在这里阅读它们:firebase.google.com/docs/firestore/manage-data/…。由于文档中确实涵盖了这一点,因此我将结束您的问题,因为它过于宽泛。如果您在执行交易时遇到问题,请随时再次发布。
-
我需要它的原因是因为我使用它来引用随机引用的报价。我使用了关于随机数和 Firestore 查询的上一篇文章,但是一旦我运行代码生成随机报价,我分配的数字范围在 1-5000 之间,有时我会得到重复,甚至没有得到其他的在数据库中。这是因为有些人在 4000 中自动分配一个随机整数,而其他可能在 400 中分配的整数因此我试图得到它,以便我知道随机拉动将在一个合理的范围内。有意义吗?
-
我认为您应该研究一下云功能。您可以让云函数分配递增值并跟踪(在单独的文档中)当前值。有了当前值,就可以写出更好的随机引用选择器函数。
标签: swift google-cloud-firestore