Я понимаю, что вы хотите получить значение colId
из подстановочного знака {colId}
, который находится в пути 'users/{userId}/first_col/{colId}'
. Вы должны использовать объект context
следующим образом:
exports.onUserAppCreated = functions.firestore.document('users/{userId}/first_col/{colId}')
.onCreate((snap, context) => {
const data = snap.data();
const colId = context.params.colId;
//....
});
Обратите внимание, что snap
- это DocumentSnapshot
, соответствующий документу, вызвавшему облако Функция. Таким образом, snap.data()
дает вам объект, содержащий поля этого документа, и поэтому data.colId
не определен (если вы не сохранили идентификатор документа в поле colId
в вашем документе).
Обратите внимание, что вы можете получить значение colId
через объект snap
, выполнив snap.id
, но для другого подстановочного знака, то есть userId
, вам нужно будет использовать context.params
.
Кроме того, обратите внимание, что вы не учитываете обещания, возвращаемые асинхронными методами Admin SDK (get()
, set()
). Очень важно , чтобы вы правильно вернули эти обещания, см. Соответствующий do c.