Можно ли запросить у Firebase персонажей эмодзи? - PullRequest
0 голосов
/ 02 июля 2019

Я хотел бы выполнить запрос firebase от swift, который изначально поддерживает эмодзи. Однако я замечаю странное поведение при выполнении запросов, оканчивающихся на ~, когда пропускаются результаты, относящиеся к смайликам. Ниже приведен пример запроса, который я хотел бы выполнить. Где начальное значение - это какое-то имя, а конечное значение - это имя, объединенное с ~. Я замечаю, что когда имя заканчивается эмодзи, имя с эмодзи не возвращается в запросе. Можно ли выполнить запрос на смайлики при использовании базы данных реального времени Firebase, как можно в Firestore ?

Database.database()
    .reference(withPath: "TagIDs")
    .queryOrdered(byChild: "name")
    .queryStarting(atValue: startValue)
    .queryEnding(atValue: endValue)
    .observeSingleEvent(of: .value, with: { (snapshot) in
    …

Имя входа = «дом»

ожидаемый результат = «home?»

фактический вывод: снимок пуст

1 Ответ

1 голос
/ 02 июля 2019

Из вашего описания кажется, что вы ищете:

Database.database()
    .reference(withPath: "TagIDs")
    .queryOrdered(byChild: "name")
    .queryStarting(atValue: "home")
    .queryEnding(atValue: "home~")

А затем ожидаем получить "home?" в результате. Но ? на самом деле после ~ в спецификации Unicode, поэтому ваш запрос заканчивается до ?.

Чтобы получить полный диапазон значений TagIDs, начиная с "home", завершите запрос на "home\uf8ff", при этом \u{f8ff} будет экранированием последней кодовой точки в Unicode.

...