【问题标题】:Firebase Query and Rule issueFirebase 查询和规则问题
【发布时间】: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


【解决方案1】:

这是 firebase SDK 中的一个问题。我联系了他们,结果在他们这边产生了。他们在 SDK 版本 3.0.2 中修复。 Unity SDK

【讨论】:

    猜你喜欢
    • 2020-01-28
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    相关资源
    最近更新 更多