Сохранить ServerValue.TIMESTAMP как строку в базе данных в реальном времени - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь сохранить временную метку firebase в виде строки, я использую базу данных в реальном времени, я хочу расположить свои узлы по дате их публикации и хочу исключить те сообщения, которые старше 24 часов. моя структура узлов выглядит примерно так

 "posts" : {
      "b" : {
        "text" : "5",
        "timestamp" : "{.sv=timestamp}",
         "uid" : "KpZvp0bhOlPJI3KKwe1AF7Apb2U2"
      },
      "a" : {
        "text" : "hey",
        "timestamp" : "1559912589250",
        "uid" : "KpZvp0bhOlPJI3KKwe1AF7Apb2U2"
      }
 }

У меня нет проблем с размещением постов по дате, но когда я хочу исключить посты старше 24 часов, именно тогда у меня возникают проблемы

  firebaseDatabase.reference.child("posts").orderByChild("timestamp").startAt((System.currentTimeMillis() - 86400000))

"startAt ()" не требует длинных или целых чисел, он принимает только логические, строковые и двойные в качестве параметров.

так я создаю узлы

    firebaseDatabase.reference.child("posts").push().setValue(mapOf(
            "by" to uid,
            "text" to "hey",
            "timestamp" to  ServerValue.TIMESTAMP)
    )

Я попытался изменить ServerValue.TIMESTAMP на строку, но он сохранил его как "{" .sv ":" timestamp "}" Я посмотрел вокруг и обнаружил, что если я отправлю карту с индексом с именем ". sv "и имеет значение" timestamp ", чтобы база данных распознала его и заменила значение на метку времени сервера как то так

                firebaseDatabase.reference.child("posts").push().setValue(mapOf(
            "by" to uid,
            "text" to "hello",
            "timestamp" to mapOf(".sv" to "timestamp")

значением метки времени будет метка времени сервера в виде длинного числа, поэтому в основном ServerValue.TIMESTAMP похож на карту, поэтому, когда я попытался изменить его на строку, он дал мне "{" .sv ":" timestamp " } "значение.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...