【问题标题】:How to use OrderByValue in Unity如何在 Unity 中使用 OrderByValue
【发布时间】:2018-10-31 07:30:27
【问题描述】:

我想根据房间的type 对房间进行排序。如何获得有"type" = "triple" 的房间?我正在使用 Unity3d。

FirebaseDatabase.DefaultInstance
.GetReference("rooms").OrderByChild("type").EqualTo("triple")
.ValueChanged += HandleValueChanged;
}

void HandleValueChanged(object sender, ValueChangedEventArgs args) {
  if (args.DatabaseError != null) {
    Debug.LogError(args.DatabaseError.Message);
    return;
  }
  // Do something with the data in args.Snapshot
}

编辑:我有房间部分。但是现在,我怎样才能得到钥匙,即只有房间号?

【问题讨论】:

  • 请张贴代码而不是图片。
  • 代码就是我想要的。很抱歉,文档还不够。我能够在不排序的情况下检索数据,但我无法检索排序的数据。我还是会尝试上传一个。感谢你的回复。希望再买一个。
  • 我们需要一些代码来修改它,所以请在您的问题中添加您到目前为止所做的相关代码
  • 您在问题中包含了 JSON 树的图片。请将其替换为作为文本的实际 JSON,您可以通过单击 your Firebase Database console 中的导出 JSON 链接轻松获得该文本。将 JSON 作为文本使其可搜索,让我们可以轻松地使用它来测试您的实际数据并在我们的答案中使用它,一般来说这只是一件好事。

标签: c# android firebase unity3d firebase-realtime-database


【解决方案1】:

您要做的不是按值排序/过滤,而是按子属性排序。

所以你需要使用:

FirebaseDatabase.DefaultInstance
    .GetReference("rooms").OrderByChild("type").EqualTo("triple")
    .ValueChanged += HandleValueChanged;
}

void HandleValueChanged(object sender, ValueChangedEventArgs args) {
  if (args.DatabaseError != null) {
    Debug.LogError(args.DatabaseError.Message);
    return;
  }
  // Do something with the data in args.Snapshot
}

另见Firebase documentation on ordering and filtering for Unity。

【讨论】:

  • 这里我要获取类型为“triple”的房间号(只有房间号)。但是,我无法做到这一点。 args.Snapshot.Child("房间")
猜你喜欢
  • 1970-01-01
  • 2021-08-15
  • 2021-09-17
  • 2017-05-18
  • 1970-01-01
  • 2020-05-07
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多