在 Cloud Functions 中,使用什么语法写入 Firestore 子集合?

In a Cloud Function, what syntax is used for writing to a Firestore sub-collection?

假设我们有一个聊天应用程序,其数据库结构与此类似:

我知道写入房间集合应该是这样的:

await admin.firestore().collection("rooms").doc(roomA).set()

写入消息集合会像这样吗?

await admin.firestore().collection("rooms").doc(roomA).collection(messages).doc(message1).set()

然后按照这个结构一直往下走,collection.doc.collection.doc.collection.doc...?

是的,该操作将生成 ID 为 message1 的子文档(不过您漏掉了引号)。如果你想添加一个新文档到一个随机 ID 的子集合,你可以使用 add():

await admin.firestore().collection("rooms").doc('roomId').collection(messages).add({...data})

或者,您也可以将该子文档的路径写为:

await admin.firestore().doc('rooms/roomId/messages/messageId').set(...)