Мне было интересно, обновляется ли моментальный снимок документа Firestore, если функция запускается снова.
Здесь я пытаюсь получить показание свойства 'active', которое возвращает логическое значение.
К сожалению, если я вручную изменю значение в документе на «ложь», показания по-прежнему будут отображаться как «истина», даже после перезагрузки (и предположительно повторного запуска функции).
// Check if user is logged in
auth.onAuthStateChanged(user => {
if (user) {
findSubscription(user);
} else {
console.log('logged out')
}
})
const findSubscription = (user) => {
// Get document
db.collection('stripe_customers')
.doc(user.uid)
.collection('subscription_info')
.doc('subscription_object')
.get()
.then((doc) => {
// Get number of keys in document
const numberOfKeys = Object.keys(doc.data()).length;
// Check if numverOfKeys is > 0 (it is not if the user has never had a subscription before)
if (numberOfKeys !== 0) {
// Get subscription status
const subscriptionStatus = doc.data().subscription.plan.active;
console.log(subscriptionStatus);
Иногда яполучить следующий консольный журнал.
"Не удается загрузить XMLHttpRequest ('google api url') из-за проверок контроля доступа."
Моя база данных все еще находится в открытом режиме для тестирования, поэтому я не совсем уверен, что это такое.