Угловое приложение с использованием AngularFire2. Я пытаюсь запросить firebase на дочернем объекте, а не только на свойство дочерней строки. Выполняется запрос с помощью свойства дочерней строки, но как я могу запросить весь объект.Запрос AngularFire2 по детскому объекту
Этот код работает
// Given the following firebase data structure
httpCache: {
{ID}: {
url: 'www.fakeurl',
otherProperties: {}
}
}
// This code will return results if exists where the url matches
this.af.database.list('httpCache', {
query: {
orderByChild: 'url',
equalTo: 'www.fakeurl'
}
}).subscribe(x => {
if (x.length > 0) { console.log('match found!'); }
});
Этот код не работает:
// Given the following firebase data structure
httpCache: {
{ID}: {
request: {
url: 'www.fakeurl',
params: 'id=1'
},
otherProperties: {}
}
}
// This code throws an exception
let request = {
url: 'www.fakeurl',
params: 'id=1'
};
this.af.database.list('httpCache', {
query: {
orderByChild: 'request',
equalTo: request
}
}).subscribe(x => {
if (x.length > 0) { console.log('match found!'); }
});
Вот исключение:
Query: First argument passed to startAt(), endAt(), or equalTo() cannot be an object.
Я пытаюсь использовать 2-ое решение, показанное здесь где критерии фильтра помещаются в дочерний объект, содержащий все свойства фильтра: Query based on multiple where clauses in firebase
Быстрый удар ниже. Если вы делитесь фрагментом своего JSON (как текст, без скриншотов), я могу сопоставить код с этим. Но этот подход будет описан ниже. –