1

ファイアベースの場所の順序付きリストがあります。プロパティut(更新時間) を優先順位として使用しています。最新の更新されたドキュメントを簡単に取得できるようにリストを作成したいと考えています。

そこで、優先順位を負に設定しましたut

var query = fb.child('view/documents').limit(20)
query.on('child_added', function(child) { 
  console.log(child.val())
  console.log(child.getPriority())
})

このようなものが最新の 20 個のドキュメントを返すことを期待していますが、そうではありません。最も古い 20 個のドキュメントが返されます。クエリが上位 20 ではなく下位 20 を送信するのは、私の期待に反するようです。

私を本当に混乱させているのは、child_addedが予想される順序、最新(最小の優先度)を最初に返すことです。しかし、これもリストの中で最も古いものです。

私は何か間違ったことをしていますか、これはfirebaseのバグですか.

ありがとう。

4

2 に答える 2

3

私はあなたの混乱を理解していますが、それが実際にどのように機能するはずなのかlimit(20)です.リストを作成するのに十分な優先度が追加されました)。

https://www.firebase.com/docs/queries.htmlで例を見ることができます。優先度は、メッセージが送信されたときの Unix タイムスタンプであり、messageListRef.limit(100)最新の 100 件のメッセージを取得するために使用されます (つまり、 100 件の最優先メッセージ)。

于 2013-07-21T06:29:07.113 に答える