Firebase (2016) Shallow Query
Solution 1:
The ?shallow=true
parameter in Firebase Database 2.x was only available in the REST API. See https://www.firebase.com/docs/rest/guide/retrieving-data.html#section-rest-uri-params.
In the new Firebase Database 3.x, the same parameter is still only available in the REST API. See https://firebase.google.com/docs/database/rest/retrieve-data#shallow
You're using a Firebase SDK (JavaScript from the looks of it), which never supported this parameter.
For more questions that have discussed this in the past, see:
- Firebase retrieve child keys but not values
- Firebase REST API working with shallow data
- How do I do a shallow query on Firebase iOS?
- Get Firebase child nodes' names without getting their children too in Firebase response?
Solution 2:
This worked for me based on Frank's answer:
import request from 'request';
request({ url: "https://[YOUR-APP-ID].firebaseio.com/path/to/data/.json?shallow=true" }, (error, response, body) => {
const shallowData = JSON.parse(body);
console.log(shallowData);
});
Reference: https://firebase.google.com/docs/database/rest/retrieve-data#shallow