#firebase #flutter #dart #filter #google-cloud-firestore
#firebase #флаттер #dart #Фильтр #google-облако-firestore
Вопрос:
У меня проблема. Я должен получить автоматически сгенерированный идентификатор документа с помощью данных поля, которое находится в документе, из которого я должен узнать идентификатор.
Чтобы сделать это более логичным, пример: как вы можете видеть на скриншоте, у меня есть коллекция «продавец», которая, в свою очередь, содержит разные документы, содержащие разные данные. Приложение знает только имя, но не из какого поля оно берет имя (например, имя: ‘Paul’). Задача состоит в том, что теперь приложение должно выяснить, из какого документа взято имя Paul. В этом случае это будет ‘4wHJZ3I2hAqbCFP0323A ‘.
Я видел в Интернете, что для firestore есть опция фильтра, но я не знаю, как я могу использовать это, чтобы получить идентификатор документа. Кто-нибудь может мне помочь?
Ответ №1:
Вам нужно сделать следующее:
final firestoreInstance = FirebaseFirestore.instance;
firestoreInstance
.collection("seller")
.where("name", isEqualTo: "Paul")
.get()
.then((value) {
value.docs.forEach((result) {
print(result.id);
});
});
с помощью async / await:
getData() async {
final firestoreInstance = FirebaseFirestore.instance;
final result = await firestoreInstance.collection("users").where("name", isEqualTo: "Paul").get();
result.docs.forEach((result) {
print(result.id);
});
});
result.id
даст вам идентификатор документа, где name = Paul
.