如何使用云函数从Firestore文档的Map中删除一个字段?
我的文档"/groups/{groupId} "如下所示:
{
members: {
userIdOfUserA: {
<some fields that contain info about user A>
},
userIdOfUserB: {
<some fields that contain info about user B>
}
}
}
函数如下所示:
const functions = require("firebase-functions")
exports.deleteUserProfileFromGroup = functions.firestore
.document("/groups/{groupId}/members/{userid}")
.onDelete((snapshot, context) => {
const admin = require("firebase-admin")
admin.initializeApp()
const docRef = admin.firestore().doc("groups/" + context.params.groupId)
return docRef.update({
members: admin.firestore
.FieldValue
.delete(context.params.userId)
})
})
如果正在删除文档"groups/{groupId}/members/userIdOfUserA",则会正确触发该函数,但它不是仅从Map中删除键"userIdOfUserA"及其数据,而是删除整个"members"Map。
所以我想这是错误的函数,或者是错误的方法,我把密钥输入到函数中,但是我找不到任何正确的方法。
任何帮助都感激不尽。
1条答案
按热度按时间s3fp2yjn1#
谢谢你做我的橡皮鸭!我记得Map值是可以直接访问的。下面是通过键从Map中删除字段的方法: