Я хочу найти пользователя, скажем, по электронной почте, а затем выполнить некоторые операции с базой данных, использующие идентификатор пользователя, а затем выполнить некоторые действия, основанные на этом. Я не мог найти способ сделать это без использования forEach, который я не уверен, как использовать с обещаниями здесь.
function addStuff(email) {
return admin.firestore().collection('users').where('email', '==', email).get().then((users) => {
if (users.size !== 1) {
throw Error("Found "+users.size+" matching users for "+email);
}
// Somehow get the id of the first (and only) user in the snapshot without forEach, then:
new_data = {
user_id: userID,
other_data: XXX
}
return admin.firestore().collection("YYY").add(new_data);
}).then(()=>{
// Do some other things after database is updated
}).catch(er=>{
console.log("Error: "+er);
})
}