【发布时间】:2020-08-27 08:09:49
【问题描述】:
前言:我是一名深入研究 Node/JS 的 iOS 程序员。我创建了一个https.onCall 函数,因为我需要执行多次读取+写入。在最终的更新承诺中,理想情况下,我希望以可以解码为DocumentSnapshot 的形式返回数据(因为这很容易转换为模型),但我很乐意做最佳实践也是。
这是相关代码的样子:
return group.ref.set({
members: admin.firestore.FieldValue.arrayUnion(user)
}, { merge: true }).then(result => {
// The additional `get` seems necessary because the completion block doesn't contain the updated document's data
return group.ref.get().then(doc => {
return doc
})
})
我也尝试返回return group.ref.get(),但都未能在iOS端解析:
// This fails to cast
guard let document = result?.data as? DocumentSnapshot else { return }
我在想这是我可以做的另一种选择:
...
return {
id: doc.id,
data: doc.data()
}
然后在iOS端手动解码JSON。但这感觉很沉重,所以我希望有人能用更直接的解决方案来启发我。
【问题讨论】:
标签: javascript ios firebase google-cloud-functions