Конечно, лучший способ сделать это - реализовать фактический запрос Firestore в Cloud Function? Тогда будет только один обратный звонок от клиента к Firebase, который, похоже, является тем, о чем вы просите.
Вы действительно хотите сохранить всю логику доступа к данным, такую как эта серверная сторона во всяком случае.
Внутри, вероятно, будет одинаковое количество вызовов самой Firebase, но все они будут связаны с сверхбыстрыми межсоединениями Google, а не с внешней сетью, и в сочетании с конвейерной поддержкой, которую Франк ван Пуффлен объяснил, вы должны получить отличную производительность от этого подхода.
Строго говоря, вы не можете. Мне не нужно ничего знать о r или cran (или даже о том, что они есть), чтобы сказать вам об этом, потому что я знаю ISO 8601 достаточно хорошо, чтобы знать, что только что-то знаю, что ISO 8601 недостаточно, чтобы недвусмысленно знать, что означает им, особенно в более коротких формах.
Узнайте, какой профиль ISO 8601 используется другой стороной. Если они не знают, о чем вы говорите, тогда вы окажете им одолжение, когда укажете, что я только что сказал в параграфе выше. Как я писал однажды в другом месте,
К сожалению, многие люди думают о конкретном профиле, с которым они знакомы, когда слышат «ISO 8601», другие люди знают, что использование 8601 - это хорошая вещь, но не знакомы с деталями реализации. Следовательно, спецификация или документ требований могут упоминать 8601, но не более явным, чем это. В таких случаях важно искать разъяснения, а не считать, что формат, который вы считаете «ISO 8601», является правильным.
blockquote>Итак, скажите им, что «ISO 8601» недостаточно конкретно, мне нужно точно знать, что вы делаете, каковы ваши ограничения в точности. " (И, возможно, ваша политика в отношении дат до 1582 года и, возможно, еще до 0001 года, ваша политика на прыжках секунд и еще несколько вещей останутся открытыми, но стандарт)
Тогда что бы вы ни делали с должно быть достаточно просто: помимо этой точки двусмысленности, это довольно простой стандарт. Его следует просто рассматривать как стандарт определения форматов дат, более одного, который определяет формат даты.
См. .parseISO8601
в пакете xts для одной реализации. Я сомневаюсь, что это будет работать «из коробки», но оно должно дать вам представление о том, как реализовать ваши конкретные потребности.
t <- strptime("2013-08-20T14:56:37", "%FT%T")
работал достаточно хорошо для меня в большинстве случаев. Он уже терпит неудачу на долю секунд, хотя и не включает решения всех проблем, о которых говорил Джон Ханна. (И которые делают работу с типами данных времени настолько невероятно трудными.)
Это выглядит многообещающим: http://cran.r-project.org/web/packages/parsedate
parsedate: распознавать и анализировать даты в разных форматах , Включая все форматы ISO 8601
Параметр автоматически выводит даты, не требуя указания формата. В настоящее время он включает парсер даты git. Он также может распознавать и анализировать все форматы ISO 8601.
blockquote>