首页 > 解决方案 > 来自具有特定用户 ID(Flutter)的 Firebase 实时数据库的随机查询

问题描述

我需要选择一些用户添加到 Firebase 数据库的随机查询。有什么办法吗?

更具体地说,我有如下查询,并希望从属于已登录用户的随机 imDBid 中获取,所以有什么方法,例如;首先按用户 ID 过滤列表,然后从中获取随机数据?

movielist
         movies
              -M5RwyBsC1cwTzX4LU-A
                 backdropPath: "https://image.tmdb.org/t/p/original/5BwqwxMEjeF..."
                 genres: "Science Fiction, Drama"
                 imDBid: "tt2935510"
                 posterPath: "https://image.tmdb.org/t/p/original/xBHvZcjRiWy..."
                 releaseDate: "2019"
                 title: "Ad Astra"
                 userId: "SZ7zU6toVcSSablbnZif8n4MTIb2"
                 voteAverage: "6.6"
                 unique: "SZ7zU6toVcSSablbnZif8n4MTIb2tt2935510"
                 watched: false

标签: firebaseflutterfirebase-realtime-database

解决方案


我解决了下面的方法,如果有人需要类似的解决方案,请写在这里;

List movietemp = [];
var db = FirebaseDatabase.instance.reference().child("movies").orderByChild("userId").equalTo(userId);
           db.once().then((DataSnapshot snapshot){
           Map<dynamic, dynamic> values = snapshot.value;
           values.forEach((key,values) {
             movietemp.add(values["imDBid"]);});

           Random random = new Random();
           int randomNumber = random.nextInt(movietemp.length);

           _name = movietemp[randomNumber]
       }
    );

推荐阅读