Я новичок в javascript и новичок в облачных функциях Firebase, я хочу знать, как повторять каждый документ, который возвращает мой запрос, и получать из каждого документа deviceToken моего пользователя, это то, что я сделал
let docRef = db.collection('user').doc(userId);
let shopUserRef = db.collection('user').where('shop', '==', shopId);
var orderStatusDetail;
var notificationTitle;
switch(orderStatus){
case 0:
notificationTitle = "You have a new order ! ?️"
orderStatusDetail = String("A new order has arrived, check it out")
docRef = shopUserRef;
break;
case 1:
notificationTitle = "Hey there! ?"
orderStatusDetail = "✅ Your order is ready"
break;
}
return docRef.get().then(userDoc => {
const deviceToken = userDoc.data().deviceToken
const payload = {
notification: {
title: notificationTitle,
body: orderStatusDetail
}
}
console.log("userId:"+userId+"orderstatus:"+orderStatus+"deviceToken"+deviceToken)
return admin.messaging().sendToDevice(deviceToken,payload)
});
Итак, этот код прост, если регистр равен 0 (orderStatus == 0), мне нужно отправить уведомление только владельцу магазина, поэтому я использую другую ссылку для получения этого пользовательского устройства. токен, но здесь может быть более одного пользователя с таким идентификатором магазина, поэтому я хочу перебрать эти документы, чтобы получить каждый идентификатор и отправить им все уведомления о новом заказе.
Здесь docRef - это просто Клиент, который купил продукт и уведомление должно прибыть к ним.
Но в case 0
мне нужно отправить уведомление всем покупателям магазина, идентификаторы
Я хочу знать, как это сделать для l oop здесь
return docRef.get().then(userDoc => {
for(user in userDoc) {
// I dont know if this is the correct for loop way to get each document data
}
...