Собирался опубликовать это в своем репозитории github, но, похоже, они предпочитают задавать общие вопросы здесь.
Так есть ли ограничение длины строки для параметра при использовании startAt()
для получения данных из базы данных firebase?
Я столкнулся с проблемой, когда кажется, что она ограничена только 41 символом, и я не могу найти никаких документов, подтверждающих это.
Если это действительно предел, то есть ли способ изменить его? (Мне нужно иметь возможность фильтровать по значениям до 60 символов)
Я имею в виду, что я все еще могу передавать более длинные параметры, но база данных возвращает результаты, которые отфильтровываются только по первым 41 символу, игнорируя остальную часть значения.
Я использую js sdk на случай, если это имеет значение.
Набор данных (каждое значение имеет длину около 100 символов, и первые 41 символ идентичны в каждом из них, но отсрочиваются в хвостах)
{
"obj1": {"param": "abcdefghijklmnopqrstuvwxyz0123456789ABCDEF_0123456789ABCDEFabcdefghijklmnopqrstuvwxyz0123456789ABCDEF"},
"obj2": {"param": "abcdefghijklmnopqrstuvwxyz0123456789ABCDEF_123456789ABCDEFabcdefghijklmnopqrstuvwxyz0123456789ABCDEF"},
"obj3": {"param": "abcdefghijklmnopqrstuvwxyz0123456789ABCDEF_23456789ABCDEFabcdefghijklmnopqrstuvwxyz0123456789ABCDEF"},
"obj4": {"param": "abcdefghijklmnopqrstuvwxyz0123456789ABCDEF_3456789ABCDEFabcdefghijklmnopqrstuvwxyz0123456789ABCDEF"},
"obj5": {"param": "abcdefghijklmnopqrstuvwxyz0123456789ABCDEF_456789ABCDEFabcdefghijklmnopqrstuvwxyz0123456789ABCDEF"}
}
Теперь мне нужно получить «obj1» по значению ключа «param», и я знаю только первые 60 его символов (поэтому я не могу использовать equalTo ())
var ref = firebase.database().ref("/some/data");
ref.orderByChild("param")
.startAt("abcdefghijklmnopqrstuvwxyz0123456789ABCDEF_0123456789ABCDEFabc") <- this guy is 60 characters long
.once("value")
.then(function(snapshot) {
snapshot.forEach(function(child) {
console.log(child.key);
});
})
Я бы ожидал только один результат здесь, но вместо этого приведенный выше код возвращает все записи из набора.