Cloud Function中写入Firestore子集合的正确语法是什么
Cloud Firestore 子集合写入问题解答
1. messages子集合写入写法验证
你给出的写法在messages、message1为已声明赋值的字符串变量时完全可用。
如果messages是固定子集合名、message1是固定文档ID,需要给对应字段加英文双引号,修正后写法如下:
await admin.firestore().collection("rooms").doc(roomA).collection("messages").doc("message1").set()
2. 深层级嵌套写入规则
可以一直遵循collection().doc().collection().doc()的链式层级结构写入更深的子集合,这是Firestore的标准操作规范:
- Firestore数据模型要求集合与文档必须交替嵌套:集合下只能挂载文档,文档下才能挂载子集合,不存在直接从属集合的子集合,因此该链式写法完全匹配数据结构规则
- 当前Firestore官方限制最深支持100层的集合-文档嵌套,只要不超过该上限都可以沿用该写法写入。
参考数据库结构示意图:
内容的提问来源于stack exchange,提问作者Stephen Stilwell
相关产品推荐
相关产品推荐

