我如何获得负时间戳以保存在firebase中 - Javascript

Nom*_*Ali 1 javascript firebase firebase-realtime-database

到处搜索但找不到任何解决方案或答案。我可以使用以下代码获取时间戳:

var timestamp = firebase.database.ServerValue.TIMESTAMP;
Run Code Online (Sandbox Code Playgroud)

但我想存储负时间戳以进行排序。我怎样才能得到它?

当我尝试将它与-1相乘时,它会给出 NaN 错误,因为它是一个对象。如何?

Jef*_*D23 5

当数据集太大而无法反转客户端时,负时间戳非常有用。

Firebase 服务器时间戳是一个对象,在保存数据后会转换为数字。因此,您需要保存正时间戳,然后在初始推送后将其转换为负时间戳。这是一个经过验证的工作示例。

  let timestamp = firebase.database.ServerValue.TIMESTAMP
  const promise = firebase.database().ref().child('posts').push({ timestamp })
  const key = promise.key

  promise.then(_ => {
    const postRef = firebase.database().ref('/posts/' + key)
    postRef.once('value').then(function(snapshot) {
      timestamp = snapshot.val().timestamp * -1
      postRef.update({ timestamp })
    });
  })
Run Code Online (Sandbox Code Playgroud)