Rob*_*don 3 firebase google-cloud-platform google-cloud-functions google-cloud-firestore
如果我想从客户端写入数据库,我可以AngularFirestore使用以下命令注入一个实例并自动生成一个 id createId():
const individualId = this.angularFirestore.createId();
Run Code Online (Sandbox Code Playgroud)
但是,如果我想在云函数中使用 Firestore 管理 API 执行相同的操作,我找不到等效的操作。我可以通过运行在云函数中创建 Firestore 实例
const db = admin.firestore();
Run Code Online (Sandbox Code Playgroud)
但是,创建的对象没有createId()可用的功能。
是否有与createId()我可以在云功能中使用的等效功能?
我从这个问题和这篇文章中了解到“AngularFirestore.createId()从名为'_'的符号集合生成一个新的id”。
如果您想在云函数中模仿这种行为,您可以使用doc()a 的方法CollectionReference而不指定任何路径。您将得到一个DocumentReference,然后您可以使用该id属性来获取“引用文档的最后一个路径元素”。
像下面这样:
const db = admin.firestore();
const docRef = db.collection('_').doc();
const newId = docRef.id;
Run Code Online (Sandbox Code Playgroud)
请注意,正如上面提到的问题中所解释的,“使用通用集合而不是实际集合”来生成 id 有点奇怪,因为您通常会使用要在其中创建新文档的集合。但这不是问题,根据James Daniels(Firebaser)的评论,因为 Firestore 自动生成的 ID“只是一个随机字符串,根本不考虑路径”。
| 归档时间: |
|
| 查看次数: |
1605 次 |
| 最近记录: |