мне нужна помощь с этим Firebase правило, у меня есть ребенок, где я хранить метку времени,Как проверить достоверность servertimestamp меньше определенного значения в Firebase?
И мне нужно только разрешить запись в другое место на firebase, когда метка времени сервера меньше, чем хранится на дату Дата -> дата. Я не уверен, как это сделать, писать или проверять, или как заставить правило читать определенное значение в самой Firebase.
{
"rules": {
"test":{
".read" : false,
this-->".write": "now < root.child('date\Date')",
or this-->".validate": "now < root.child('date\Date')"
}
}
}
UPDATE
Я могу читать с места, в настоящее время, но проблема литья значение для comarison. Я попробовал (int) (Integer) parseInt() Number() и все они не удалось
Я нахожусь на правильном пути или должен быть сделан по-другому?
UPDATE 2 мне удалось написать приемлемое правило -Вот не продуцировать error-, но он не работает, здесь
{
"rules": {
"test":{
".write": "now < root.child('date/Date').val()",
".read" : false
}
}
}
Любые предложения?
UPDATE 3
На самом деле это не работает хорошо, я думаю, что это сравнение количества поступающих из «теперь» функции в строку вступления формы в root.child.val, поэтому правило всегда было ложный.
мне удалось обойти его, поставив решение здесь только в случае, если кто-то нуждается в этом
"rules": {
"test":{
".write": "now + ' ' < root.child('date/Date').val() + ' '",
".read" : read
}
}
Поэтому в основном я добавил (+ ' «), чтобы теперь преобразовать его в строку, и добавил так же, как и для того, чтобы сделать обе строки по сравнению с той же длиной.
Еще раз спасибо , вы очень помогаете, очень цените это. Не применяются ли правила при использовании консоли? Я все еще могу писать в том месте, когда я использую консоль Chrome, даже если я установил ее для записи: false. –
Ах, вы пишете с консоли с открытой панелью Firebase App. Да, правила там не применяются, потому что вы админ. Панель Firebase App Dashboard - это веб-приложение с правами администратора для базы данных Firebase.Когда вы используете консоль и создаете ссылку, вы получаете локальные права веб-приложения, которое является администратором. Попробуйте получить доступ к данным в режиме инкогнито или использовать симулятор. –
Большое спасибо :) –