# #firebase #flutter #dart #google-cloud-firestore
Вопрос:
Я хочу запросить документы в коллекции, и я делаю это, генерируя случайные числа, создавая документы. Затем я запрашиваю документы с полем, которое меньше числа. Но каждый раз, когда я это делаю, я получаю одно и то же document.id что дает мне тот же снимок документов. Но почему?
void getRandomfromFirestore1() async {
int randomNum = new Random().nextInt(9998) 1;
print(randomNum.toString());
final QuerySnapshot querySnapshot = await FirebaseFirestore.instance.collection("recipes").where("id_created", isLessThanOrEqualTo: randomNum).limit(1).get();
DocumentSnapshot document = querySnapshot.docs.first;
final documentID = document.id;
final DocumentSnapshot data = await FirebaseFirestore.instance.collection('recipes').doc(documentID).get();
print('worked');
setState(() {
RecipeTitle = data['title'] as String;
RecipeTag = data["tag"] as String;
});
}
В консоли я каждый раз получаю другой номер и «сработало», но когда я смотрю на свое приложение, я каждый раз получаю один и тот же заголовок рецепта и один и тот же тег рецепта.
I/flutter (30227): 7097
I/flutter (30227): worked
//горячий перезапуск
I/flutter (30227): 291
I/flutter (30227): worked
вот мой магазин firestore: номера от 1 до 9999
итак, в этом примере я каждый раз получаю документ rice
В общем, есть ли другой способ сделать это?
Комментарии:
1. Вы нигде не используете
randomNum
в своем запросе2. Вы правы, попробовали так, но все равно не получилось
3. Есть ли
rice
иmeat
коллекция внутриrecipes
коллекции? Как он доставляет вам документ? И другой вопрос: если вы отфильтруете в консоли firebaserecipes
, скажем, для того, чтобы получить правильный результат, который вы хотите?4. рис и мясо-это не коллекции, это документы. Я попробую это с помощью фильтра рецептов
5. Сработал ли подход с фильтром рецептов?