【发布时间】:2020-08-04 05:40:30
【问题描述】:
我的 Firestore 中有这个架构:test1/{test1ID}/test2/
每当有新数据添加到 test1ID 时,我都想在云函数中与我的 firestore 进行交互。
我的目标是更新更新数据的 test1ID 文档,其值为 [0]th + [1]th + [2]th 子集合 test2 下的文档。
但是使用下面的代码,我得到 test2 文档列表(currentTest2DocumentList)未定义。
(错误消息 => TypeError:无法读取未定义的属性“0”)
如何获取子集合下的有效文档列表?
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.onItemDocumentUpdate = functions.firestore.document('test1/{test1ID}')
.onUpdate(async (change, context) => {
const currentTest1ID = context.params.test1ID
const currentTest2DocumentList = await
admin.firestore().collection('test1').doc(currentTest1ID).collection('test2').get()
.then(function(docs) {return docs.forEach(function (doc){doc.data()})})
const addedValue = currentTest2DocumentList[0].field1 + currentTest2DocumentList[1].field1 +
currentTest2DocumentList[2].field1
return admin.firestore().collection('test1').doc(currentTest1ID).update({testField:
addedValue});
【问题讨论】:
标签: javascript google-cloud-firestore google-cloud-functions