我想使用Firebase提供的服务器时间戳设置计算的优先级

siv*_*636 5 android firebase firebase-realtime-database

我想使用Firebase提供的服务器时间戳设置孩子的优先级,ServerValue.TIMESTAMP:

mFirebaseref.child(userid).setPriority(ServerValue.TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)

但我的情况是相反的.我想设置负面ServerValue.TIMESTAMP根据时间将我的孩子移到顶部.是否可以在不使用本地时间戳的情况下在Firebase中执行此操作System.CurrentTimeInMillis()

我想做这样的事情:

mFirebaseref.child(userid).setPriority(-ServerValue.TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)

Sea*_*mus 3

在客户端,ServerValue.TIMESTAMP是一个如下结构的对象:{.sv: "timestamp"}

所以,如你所知,你不能轻易地做你想做的事。然而,可能有不同的解决方案。例如,如果您想要五个最近的条目,您仍然可以通过以下方式设置优先级ServerValue.TIMESTAMP

mFirebaseref.child(userid).setPriority(ServerValue.TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)

然后使用limitToLast()方法:

Query queryRef = mFirebaseref.limitToLast(5);
Run Code Online (Sandbox Code Playgroud)

获取最近的五个条目。

另外,这可能会有所帮助:按发布的降序显示帖子