Расширение дочерних узлов Firebase с подстановочным знаком?
Я использую расширение limit дочерних узлов, чтобы успешно ограничить узел до 3 дочерних узлов с такой структурой:
{
"-LqRtMWFDSO3QRJDYA39" : {
"r" : 0.84,
"s" : "Mango"
},
"-LshaeOZsIRC80q_n4Kl" : {
"r" : 0.49,
"s" : "Strawberry"
},
"-Ltf2gql89DkVm--xLr3" : {
"r" : 0.44,
"s" : "Cheese"
}
}
Можно ли использовать расширение с такой структурой:
{
"34DAvOOUO7N7vp28NtkdAAZp5vD3" : {
"-Lshag6VI55LMps7Fe0G" : {
"post" : true,
"t" : "Brando"
}
},
"35DDKxWrc8c1yERPf2QAYvRPAUb2" : {
"-LocHP4oF6NzmS67yW8r" : {
"post" : true,
"t" : "Abby"
},
"-LscHPsdF6NzmE47sdD3r" : {
"post" : true,
"t" : "Abby "
}
}
}
Мне нужно ограничить уведомления пользователей только 15 узлами, но, не зная второго дочернего элемента при указании пути, я не могу сделать это без чего-то похожего на параметр подстановочного знака облачной функции.
Я ценю помощь, ура!
1 ответ
Да, ты можешь это сделать.
Поскольку это расширение, по сути, является просто облачной функцией, вы можете использовать формат подстановочных знаков вNODE_PATH
параметр (на самом деле, просто переменная среды, с которой настроена облачная функция, а также ее конфигурация триггера).
Допустим, все эти элементы находятся в узле верхнего уровня, "уведомления".
Затем вы можете установить параметр следующим образом:
notifications/{topId}
Что создаст функцию расширения как RTDB onCreate
запуск метода в:
notifications/{topId}/{messageid}
И таким образом очистите набор уведомлений на 2 уровня.