Я сохранил некоторые данные в firestore. Существует коллекция (книги), которая ссылается на документ (идентификатор книги), а идентификатор книги имеет такие поля, как имя, изображение, местоположение, название. У меня есть другая коллекция (Пользователи), в которой есть документ (идентификатор пользователя). Идентификатор пользователя имеет поле в качестве идентификатора токена. Когда бы ни происходила какая-либо операция записи в коллекции книг, я должен отправить уведомление всем пользователям, используя идентификатор токена. Я могу отправить уведомление всем пользователям, если у меня есть жестко запрограммированный идентификатор токена в моем файле index.js в firestore. Но я должен отправлять уведомления динамически. Я не могу прочитать идентификатор пользователя из коллекции пользователей.
'use-strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.firestore.document("Books/{book_id}").onWrite((change, context) => {
const book_id = context.params.book_id;
console.log("Book ID: " + book_id);
return admin.firestore().collection("Users").doc(user_id).collection("Notifications").doc(notification_id).get().then(queryResult => {
const tokenid= queryResult.data();
const token_id='fOGd94em4ik:APA91bHyZBGBYvO_ZFlLO1lWL1LU-r-1JkuF3fuKieWvV4HuPDKAiG5hdn-BQrMPFeICBdKZ3UR2nkM2PMxClEzVI3V2C38OxoP-1w71Dz-GbO0sbDlg-nswCMZ';
const payload = {
notification : {
title : 'Hi',
body : 'New Books list is available in the database! Please check the book store',
icon : "default"
}
};
return admin.messaging().sendToDevice(token_id, payload).then(result => {
//console.log("Notification sent");
return 0;
});
});
});
В приведенном выше коде я хочу прочитать user_id от пользователей коллекции. Как я могу читать это, поскольку это не связано с коллекционными книгами, я не могу читать.