如何在Unity中使用OrderByValue

时间:2018-10-31 07:30:28

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

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

enter image description here

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
}

编辑:我有房间部分。但是现在,我该如何获取钥匙,即仅房间号?

1 个答案:

答案 0 :(得分:2)

您要执行的操作不是按值排序/过滤,而是按子属性排序。

因此您需要使用:

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