Допустим, у меня есть набор данных следующим образом
{
"username": "myUsername",
"2018": { //year
"totalData": 1000
01: { //month
"totalData": 30
01: { //day
"totalData": 1
01: { //hour
"totalData": 0
}
02: {
"totalData": 0
}
02: {
"totalData": 1
}
//etc
}
02: {
"totalData": 12
01: { //hour
"totalData": 3
}
02: {
"totalData": 6
}
02: {
"totalData": 3
}
//etc
}
03: {
"totalData": 6
01: { //hour
"totalData": 4
}
02: {
"totalData": 1
}
02: {
"totalData": 1
}
//etc
}
//...etc
31: {
"totalData": 1
01: { //hour
"totalData": 0
}
02: {
"totalData": 0
}
02: {
"totalData": 1
}
//etc
}
}
02: {
"totalData": 51
01: {
"totalData": 17
01: { //hour
"totalData": 5
}
02: {
"totalData": 5
}
02: {
"totalData": 7
}
//etc
}
02: {
"totalData": 1
01: { //hour
"totalData": 0
}
02: {
"totalData": 0
}
02: {
"totalData": 1
}
//etc
}
03: {
"totalData": 7
01: { //hour
"totalData": 6
}
02: {
"totalData": 0
}
02: {
"totalData": 1
}
//etc
}
//...etc
30: {
"totalData": 5
}
}
}
}
Таким образом, я отслеживаю использование данных по годам, месяцам, а затем по дням, каждый из которых имеет общее использование за этот год / месяц / день.
Пока это нормально, однако в какой-то момент я буду уделять часы и минуты, и я не хотел бы возвращать весь документ, когда он не нужен.
Итак, я хотел бы сделать запрос, который каким-то образом ограничивает «глубину» запроса.
Так что я бы хотел вернуть один начальный запрос, например, в 2018 году, сколько данных использовалось каждый месяц. затем, во внешнем интерфейсе, о том, как пользователь углубляется в детали, насколько это им необходимо, но поскольку это может стать довольно большим, кажется огромной тратой тянуть этот полный документ каждый раз.
Так, например, можно ли сделать запрос, чтобы вернуть только ограниченный ответ или глубину вложенных документов
{
2018: {
"totalData": 1000
01: {
"totalData": 30
}
02: {
"totalData": 51
}
}
}