ソート結果与えていないのインデックス:以下のルールでFirebase - .VALUE私はそうのようなデータ構造を有する
{
"inbox_events": {
"from_users": {
"uid1": {
"uid2": 1501337181,
"uid3": 1501337183,
"uid4": 1501337179
},
"uid2" : {
"uid6": 1501337284,
"uid1": 1501337295
}
}
}
}
:
{
"rules": {
".read": "auth != null",
".write": "auth != null",
"inbox_events": {
"from_users": {
"$userId": {
".indexOn": ".value"
}
}
}
}
}
問題:私はなぜ理解していないに値の索引付けは機能しません。 firebaseコンソールでは、各$userId
のエントリはアルファベット順に並べられています。私がqueryOrderedByValue
を実行した場合、ソートされた結果は得られません。
Firebaseのドキュメントを誤読しましたか?
ありがとうございます!
EDIT:
は、具体的には、私はそうのようなデータを照会しようとしています:
let queryRef = Database.database().reference().child("inbox_events").child("from_users").child("uid1").queryOrderedByValue()
queryRef.observe(.value, with: { (snapshot) in
print("key: \(snapshot.key), value: \(snapshot.value)")
})
値を降順で、ソートされたリストを取得するためには、時uid
秒uid1
ノード。
ポストいくつかのコードを維持するためにスナップショットを反復するためにどのようにして変換されたスナップショットを使用してコードだ、と。また、どのプラットフォームを使用するかを指定します(Android、iOS、Web、Admin SDK、REST APIなど) –
@DimaRostopira:私の意図したことを追加しました。プラットフォームはiOSです。Frank Van P.によって正当に編集されました。 – Herakleis
少し不明ですあなたがしようとしていること。値で照会したいが、uidがキーである。また、Firebaseは注文のための降順オプションを提供していませんが、それを行う方法はあります。最後に、.indexはアイテムのソート方法に直接影響しません。クエリのパフォーマンスが向上します。あなたは、期待されるアウトプットがどんなものかを明確にすることができますか – Jay