мысль пришла мне в голову, но что, если в будущем я застряну в проблеме, когда кто-то обречен присоединиться, то что я буду делать, поэтому я задал этот вопрос, иначе добавление еще одного поля имени упрощает проблему, и я сделал то же самое после получения без выбора. Спасибо за ваше драгоценное время. :)
ользую облачную функцию для отправки уведомления на мобильное устройство. У меня есть две коллекции в FirestoreclientDetail
а такжеclientPersonalDetail
, у меня естьclientID
то же самое в обеих коллекциях, но дата хранится вclientDetail
и имя хранится в clientPersonal.
Посмотри:
ClientDetail -- startDate
-- clientID
.......
ClientPersonalDetail -- name
-- clientID
.........
Вот мой полный код:
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);
});
});
});
Выше функция показывает объект, подобный этому
{clienId:xxxxxxxxx, startDate:23/1/2019}
Но мне нужно, чтобы ClientID, а не имя отображалось в уведомлении, поэтому мне нужно присоединиться к коллекции clientPersonal, чтобы получить имя с помощью clientID. Что делать?
Как я могу создать другую функцию, которая исключительно возвращает имя, передавая clientID в качестве аргумента, и ждет, пока он не вернет имя. Кто-нибудь, пожалуйста, помогите.?