2013-11-19 2 views
2

Есть ли способ установить приоритет в транзакции в firebase? Я создаю систему голосования на вещи с помощью узла, и я использую функцию, как это для предотвращения столкновений, когда пользователи одновременно голосовать:Устанавливать приоритет для транзакции firebase (узел JavaScript)

update.resource.total.transaction(function(c) { return c + 1; }); 
  • update представляет собой сборник firebase справочных адресов
  • total является собственностью объектов vote ребенка, и является просто прилавком.

Было бы здорово, если бы я мог также установить приоритет здесь, чтобы объекты возвращались в порядке популярности. Как я могу это сделать?

ответ

3

Вы можете передать приоритет и значение в транзакции. For example:

firebaseRef.transaction(function(currentValue) { 
    return { '.value': currentValue + 1, '.priority': newPriority }; 
}, function(err, committed, snap) { 
    /* process results */ 
}); 
+0

Это замечательно! Однако я не могу найти его нигде в документах. Надеясь, что это поведение не исчезнет однажды! –

+1

Если это так, то оно будет заменено чем-то лучше. Поскольку версии SDK версируются, вы будете решать, когда будете обновляться. – Kato

+0

Отлично. Некоторое время назад была почта. Преимущество было немного филигранным. Любая идея, если это все еще так? Этот метод, кажется, работает для меня до сих пор :) –

Смежные вопросы