Мы рады объявить о новых возможностях FQL, которые позволяют пользователям писать более краткие и мощные операторы FQL с помощью:

  • Арифметические функции даты/времени
  • Любые/Все функции
  • Функции приведения типов
  • Функции проверки типов

Новые функции предварительного просмотра

Обратите внимание, что эти новые функции в настоящее время находятся в режиме предварительного просмотра, что означает, что они будут полностью поддерживаться только в драйверах JVM и JS и будут продолжать улучшаться в течение следующих 2 месяцев. Мы приглашаем вас присылать нам отзывы об их использовании. Чтобы узнать больше, ознакомьтесь с нашей документацией.

Арифметические функции даты/времени

Реализованы следующие арифметические функции даты/времени:

TimeAdd(), TimeSubtract() и TimeDiff()

TimeAdd(Date("1970-01-01"), 1, "day")
TimeSubtract(Time("1970-01-01T00:00:00Z"), 10, "minutes")
TimeDiff(Date("1970-01-01"), Date("1970-01-02"), "days")

Функции Any() и All()

Any() и All() уменьшают свой параметр до логического значения: истинны ли какие-либо элементы или все элементы соответственно. Они работают как Or() и And(), но для наборов, массивов и страниц.

В отличие от существующих логических функций Any() и All() имеют значения по умолчанию для пустых входных данных. (Any([]) возвращает false, а All([]) возвращает true).

Any(Map(Paginate(Match("user_ages_by_name", "Alice")), Lambda("age", GTE(Var("age"), 18)))

Функции приведения типов

Реализованы следующие функции приведения типов:

ToDouble, ToArray, ToObject и ToInteger

ToDouble(1) => 1.0
ToInteger(3.14) => 3
ToArray({x: 10, y: 20}) => [["x", 10], ["y", 20]]
ToObject([["x", 10], ["y", 20]]) => {x: 10, y: 20}

Функции проверки типов

Реализованы следующие функции проверки типов:

IsNumber, IsDouble, IsInteger, IsBoolean, IsNull, IsBytes, IsTimestamp, IsDate, IsString, IsArray, IsObject, IsRef, IsSet, IsDoc, IsLambda, IsCollection, IsDatabase, IsIndex, IsFunction, IsKey, IsToken, IsCredentials,иIsRole

Пример использования одного из них:

IsDouble(3.14) => true

Новые функции Google Аналитики

Мы рады сообщить, что новые функции FQL, которые мы выпустили в режиме предварительного просмотра еще в сентябре, теперь общедоступны. Это означает, что функции теперь также доступны в наших драйверах Go, C# и Python. Это также означает, что эти функции являются частью основного продукта FQL, и вы можете ожидать, что они будут полностью надежными.

Новые функции GA включают Диапазон, Уменьшение, Формат и Объединение.

Вывод

Благодаря нашему последнему обновлению FaunaDB пользователи теперь имеют доступ к новым функциям FQL, включая арифметику дат, а также функции приведения и проверки типов.

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

Какие еще функции вы хотели бы видеть реализованными в FaunaDB? Пожалуйста, свяжитесь со мной через Community Slack и опишите любые другие функции, которые сделают FaunaDB очевидным выбором для вашего следующего проекта.

Автор: Льюис Кинг
Дата: 5 декабря 2019 г.
Первоначально опубликовано на https://fauna.com.