【发布时间】:2019-09-09 20:51:18
【问题描述】:
我们有一个带有 google firestore 数据库的 vuejs 项目,我们需要为所有用户分配一个唯一的文件编号。它必须是数字,6 位,从 000052 开始。
我们有大约 4500 名用户。
我想使用谷歌云功能。如何将这个文件号分配给每个用户,每个用户都递增?
我正在尝试使用 firestore 的限制查询来查找前一个用户,然后增加当前用户中的文件编号等,但这似乎很笨拙。
db.collection('users').orderBy(id).get()
.then((snapshot) => {
snapshot.forEach(doc => {
let last = snapshot.docs[snapshot.docs.length - 1];
let next = db.collection('users')
.startAfter(last.data().id)
.limit(1)
db.collection('users').doc(next.id).set({
fileId: last.id++
})
})
})
【问题讨论】:
-
你试过什么?有什么问题吗,或者你写的东西没有按你预期的方式工作?
-
嘿道格...老实说,我不确定最好的方法。我试过简单地从 firebase 用户 uid 中删除非数字,但字符并不总是足够的,也不能保证结果是唯一的
-
我正在尝试使用 firestore 的限制查询来查找前一个用户,然后在下一个用户中增加文件编号,但这似乎很笨重。
标签: javascript google-cloud-firestore google-cloud-functions