En la función de nube, ¿cómo puedo unirme desde otra colección para obtener datos?

Estoy usando la función de nube para enviar una notificación al dispositivo móvil. Tengo dos colecciones en FirestoreclientDetail yclientPersonalDetail. Yo tengoclientID igual en ambas colecciones, pero la fecha se almacena enclientDetail y el nombre se almacenan en clientPersonal.

Echar un vistazo

ClientDetail -- startDate
             -- clientID
             .......

ClientPersonalDetail -- name
                     -- clientID
                     .........

Aquí está mi código completo:

exports.sendDailyNotifications = functions.https.onRequest(  (request, response) => {
var getApplicants = getApplicantList();
console.log('getApplicants', getApplicants);

cors(request, response, () => {
  admin
    .firestore()
    .collection("clientDetails")
    //.where("clientID", "==", "wOqkjYYz3t7qQzHJ1kgu")
    .get()
    .then(querySnapshot => {
      const promises = [];
      querySnapshot.forEach(doc => {
        let clientObject = {};
        clientObject.clientID = doc.data().clientID;
        clientObject.monthlyInstallment = doc.data().monthlyInstallment;
        promises.push(clientObject);
      });

      return Promise.all(promises);
    }) //below code for notification
    .then(results => {
      response.send(results);
      results.forEach(user => {
        //sendNotification(user);
      });
      return "";
    })
    .catch(error => {
      console.log(error);
      response.status(500).send(error);
    });
});

});

a función @Above muestra un objeto como este

{clienId:xxxxxxxxx, startDate:23/1/2019}

Pero necesito que ClientID no nombre aparezca en la notificación, así que tendré que unirme a la colección clientPersonal para obtener el nombre usando clientID. Qué debería hacer

¿Cómo puedo crear otra función que solo devuelva el nombre pasando el ID de cliente como argumento y espere hasta que devuelva el nombre? ¿Alguien puede ayudarm

Respuestas a la pregunta(3)

Su respuesta a la pregunta