У меня есть база данных Firebase Web Realtime с пользователями, у каждого из которых есть атрибут jobs
, значение которого является объектом:
{
userid1:
jobs:
guid1: {},
guid2: {},
userid2:
jobs:
guid1: {},
guid2: {},
}
Я хочу запросить, чтобы n пользователей получили наибольшее количество рабочих мест. , Есть ли трюк упорядочения, который я могу использовать, чтобы упорядочить пользователей по количеству значений, которые данный пользователь имеет в их атрибуте jobs
?
Я специально не хочу хранить целое число количества заданий у каждого пользователя есть, потому что мне нужно обновить атрибут jobs
пользователей как часть обновлений atomi c, которые обновляют другие атрибуты пользователей одновременно и атомарно, и я не верю, что транзакции (например, увеличивающие / уменьшающие счетчики) могут быть частью из этих транзакций атома c.
Вот пример обновления атома c, которое я делаю. Примечание. У меня нет пользователя, которого я изменяю в памяти, когда запускаю следующее обновление:
firebase.database().ref('/').update({
[`/users/${user.guid}/pizza`]: true,
[`/users/${user.guid}/jobs/${job.guid}/scheduled`]: true,
})
Любые предложения по шаблонам, которые будут работать с этими данными, будут чрезвычайно полезны!