Сведения о выставлении счетов в Cloud Firestore

У меня вопрос, потому что я не хочу счет в 30 тысяч долларов.

Это приемлемый код для работы или есть лучший способ?

Я использую firebase 8.10.0 с Vue.js 2.6.11 и создал индекс в firestore.

Если в коллекции «пользователи» 1000 документов, и мне нужно применить фильтры в запросе, прежде чем делать запрос только для 50, используя этот код:

let users = db.collection("users");

users
.where("country" "= = " "uk")
.where("online" "= = " true)
.where("status" "= = " "play")
.orderBy("time", "asc")
.startAt(startTime)
.endAt(endTime)
.limit(50)
.get().then(() => { .... });

Буду ли я платить за 50 показаний или 1000 показаний или сколько?

Что они подразумевают под «Курсорами» в Сведения о выставлении счетов в Cloud Firestore?

Я думаю, вам будет выставлен счет только за 50 прочтений, но не ставьте на это свой бюджет. Я пытаюсь экстраполировать, исходя из того, как работает база данных реального времени, и из моего собственного ограниченного понимания даже этого.

Slbox 20.03.2022 01:25

Этот вопрос неплохой, но, похоже, он выходит за рамки StackOverflow, который отвечает на вопросы, связанные с кодом. Возможно, вам лучше обратиться в службу поддержки Firebase. (Чтобы дать вам некоторую надежду, я однажды отправил электронное письмо Firebase, и они ответили мне через 2 часа, так что ура.)

code 20.03.2022 01:33

Я не согласен с тем, что это не по теме; этот вопрос зависит от кода, то есть «если я запущу этот код, сколько чтений произойдет». Используя язык вопросы и ответы не по теме, этот вопрос охватывает как часто используемый инструмент, так и практическую проблему, на которую можно ответить.

ATOMP 20.03.2022 03:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
65
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Плата взимается за количество документов, которые необходимо прочитать с сервера. Поскольку вы прочитали не более 50 документов, с вас никогда не будет взиматься плата за чтение более 50 документов с помощью этого запроса. Независимо от того, содержит ли коллекция 50 документов или 50 миллионов документов, плата за этот запрос будет составлять не более 50 чтений документов.

Единственным исключением из этого общего правила является отсутствие результатов запроса. В этом случае с вас будет взиматься плата за один прочитанный документ.

Что, если я не использую .limit(50) и в результатах будет 100 документов, с меня будет взиматься плата за 100 чтений?

Adam 20.03.2022 09:41

и являются ли startAt(time) и endAt(time) смещением?

Adam 20.03.2022 09:54
Плата взимается за количество документов, которые необходимо прочитать с сервера. Таким образом, если вы прочитаете 100 документов, с вас действительно может взиматься плата за 100 прочтений. --- Разбивка на страницы Firestore основана на курсорах запросов, а не на смещениях, поэтому startAt и endAt — это не смещения, а фактические значения полей. Рекомендую прочитать firebase.google.com/docs/firestore/query-data/query-cursors
Frank van Puffelen 20.03.2022 15:56

Другие вопросы по теме

Похожие вопросы

Реагировать с помощью JSS - как добавить класс в дочерний компонент?
Добавьте библиотеку AOS, чтобы реагировать
Попытка получить данные JSON приводит к [ Promise { <ожидание> }, Promise { <ожидание> } ]
Не удается сопоставить переменную из потока данных с идентифицированным пользователем ответом при разработке голосового приложения
Вычислять таблицы поиска во время сборки в стеке node/babel/webpack для производственной сборки
Как сохранить изображение из html2canvas
Как удалить дочерний элемент во вложенном массиве Json, переименовать идентификатор дочернего элемента и объединить его с родительским элементом?
Поиск отфильтрованных объектов с использованием разрешенных ключей, а также поискового значения
Сопоставить JSON, если поле ввода в настоящее время не равно 0 Реагировать
Contenteditable div показывает необработанный HTML вместо отображаемого HTML