【发布时间】:2017-03-10 05:12:36
【问题描述】:
我是 firebase 的新手,被困在数据库查询中。我在我的 Unity 游戏中使用 Firebase。这是我的示例数据库结构:
我的规则是:
{
"rules": {
".read": "auth != null",
".write":"auth != null",
"matches": {
".indexOn": "matchTypeStr"
}
}
}
我是这样查询的:
Query searchQuery = FirebaseDatabase.DefaultInstance.RootReference.Child("matches").OrderByChild("matchTypeStr").EqualTo("kMatchEmail")
.LimitToFirst(10);
searchQuery.GetValueAsync().ContinueWith(delegate(Task<DataSnapshot> task) {
});
问题是查询永远不会执行,它没有进入完成块。如果我删除规则,它可以正常工作,但它会关闭索引并收到以下警告:
PersistentConnection: pc_0 - 使用未指定的索引。考虑在与您的安全和 Firebase 数据库规则匹配时添加 '".indexOn": "matchTypeStr"' 以获得更好的性能
我找不到我的错。任何帮助将不胜感激。
【问题讨论】:
-
您是否尝试在没有 .EqualTo("kMatchEmail" 的情况下这样做?也许您根本没有得到任何匹配项。
-
是的,没有它也能正常工作。但即使没有匹配它也应该工作,它不应该只是挂起。它应该进入完成块,并且快照应该返回 null 或类似的东西。目前,它只是一直在运行。
标签: unity3d firebase firebase-realtime-database