I'm using FireBase realtime database structure like shown below. and want to extract all model which has red color.
FireBase
{
"models": {
"model1": {
"modelName": "model 1",
"color": {
"red": true,
"blue": true,
"green": true
}
},
"model2": {
"modelName": "model 2",
"color": {
"yellow": true,
"blue": true,
"green": true
}
},
"model3": {
"modelName": "model 3",
"color": {
"red": true,
"yellow": true,
"pink": true
}
},
"model4": {
"modelName": "model 4",
"color": {
"red": true,
"orange": true,
"white": true
}
}
}
}
i tried using below query but not getting expected result.
AngularJS
let fbRef = firebase.database().ref('models');
fbRef
.orderByChild('red')
.equalTo(true)
.once('value', function(data){
console.log('result : ', data);
});
FireBase Rules
{
"rules": {
".read": true,
"$modelID": {
".read": true,
".indexOn": ["red", "blue", "green", "orange", "pink", "white", "yellow"]
}
}
}
Expected Results
{
"model1": {
"modelName": "model 1",
"color": {
"red": true,
"blue": true,
"green": true
}
},
"model3": {
"modelName": "model 3",
"color": {
"red": true,
"yellow": true,
"pink": true
}
},
"model4": {
"modelName": "model 4",
"color": {
"red": true,
"orange": true,
"white": true
}
}
}