【发布时间】:2020-12-14 23:31:21
【问题描述】:
我对在 unity 上使用 firebase 有疑问。
我的json是这样的
"-MOGcdnpalVOmnxvO8ma" : {
"imdbID" : "tt12571792",
"imdb_moviename" : "A Queen Is Born",
"like" : 0,
"myDbID" : 39,
"poster" : "N/A",
"title" : "A Queen Is Born",
"type" : "series",
"unlike" : 0,
"year" : "2020–"
},
这个 json 的规则
{
"rules": {
"Movie": {
".read": true,
".write": true,
".indexOn": ["like"]
}
}
}
firebase 上有 4k 条记录。 我从统一调用此方法,但结果会在 2 分钟内出现。
public GetMovieList() {
if (movieDatabase==null){
movieDatabase = FirebaseDatabase.DefaultInstance.GetReference("Movie");
}
List<Movie> movies = new List<Movie>();
movieDatabase.OrderByChild("like").LimitToLast(10).GetValueAsync().ContinueWith(task =>
{
if (task.IsFaulted)
{
Debug.Log(" Task Fail");
}
if (task.IsCompleted) {
Debug.Log("Task OK");
DataSnapshot snapshot = task.Result;
foreach (DataSnapshot movierec in snapshot.Children)
{
Movie m = MovieParse(snapshot, movierec);
movies.Add(m);
}
}
});
}
【问题讨论】:
-
API 中没有任何内容会影响该性能。但如果这是您第一次与数据库交互,您可能正在查看建立初始连接所需的时间。再次尝试时,数据加载速度(快得多)吗?
-
现在工作正常。我认为,正如你所说,第一次互动很慢。非常感谢您的帮助
标签: c# unity3d firebase-realtime-database