2015-02-17 4 views
3

Я действительно хочу «нажать с приоритетом». Но этого не существует, поэтому я планирую сделать push с параметрами, а затем setWithPriority с возвращенной ссылкой. Как и в примере в документах.Firebase - 'pushWithPriority' - и проверка

var messageListRef = new Firebase('https://samplechat.firebaseio-demo.com/message_list'); 
var newMessageRef = messageListRef.push(); 
newMessageRef.set({ 'user_id': 'fred', 'text': 'Yabba Dabba Doo!' }); 

но больше как

var messageListRef = new Firebase('https://samplechat.firebaseio-demo.com/message_list'); 
var newMessageRef = messageListRef.push(); 
newMessageRef.setWithPriority({ 'user_id': 'fred', 'text': 'Yabba Dabba Doo!' },1000); 

То, что я не могу найти то, что происходит с проверкой, называют спиной к пустой толчок?

Он пытается создать пустой узел - активирует проверку и обратный вызов и т. Д.?

Или он просто возвращает ссылку, которая является (вроде) гарантией того, что она уникальна для всех других нажатий этого родителя? С «добавлением ребенка»/проверки и т. Д. Стрельба только по «набору»?

Редактировать

Ok. Имея это подтвердил, что нет на стороне сервера взаимодействия на без параметров Пуш - мой код теперь гласит:

var ref = window.lastref.child("Offers").push(); 
ref.setWithPriority(spaceof.data, Firebase.ServerValue.TIMESTAMP,function (data) { $("body").prepend(data); } 

firebase timstamp успешно дает стороне сервера метку времени в качестве приоритета, я намерен использовать этот приоритет для сбора мусора - удаление старых «предложений», которые лежали вокруг.

Чтобы предотвратить подделку клиентов, я буду искать, чтобы добавить правило проверки/безопасности, что приоритет нового узла должен быть в течение нескольких секунд от фактической отметки времени сервера (если я застрял, я буду обратно!).

+0

Push просто создает уникальный идентификатор и возвращает ссылку на него. Это чистая операция на стороне клиента, поэтому никакие проверки на стороне сервера (например, правила безопасности Firebase) не запускаются. –

+0

Отлично - спасибо Фрэнк - спас меня от экспериментов! – pperrin

+0

Похоже, это должен быть ответ @FrankvanPuffelen – Kato

ответ

1

Push просто создает уникальный идентификатор и возвращает ссылку на него. Это чистая операция на стороне клиента, поэтому никакие проверки на стороне сервера (например, правила безопасности Firebase) не запускаются.

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