Databasereference Firebase возвращает все данные только в iOSIOS

Программируем под IOS
Ответить
Anonymous
 Databasereference Firebase возвращает все данные только в iOS

Сообщение Anonymous »

У меня проблема с моим кодом Flutter SDK, когда, когда я вызываю функцию, чтобы извлечь данные из базы данных, он возвращает все данные из моей базы данных (8950 элементов), даже если я делаю правильный фильтр. Но эта проблема происходит только в отладке iOS на Android, и она возвращает только 1 точный элемент из поиска. < /P>

Код: Выделить всё

DatabaseReference Function(String id) get productByIdRef =>
(String id) => _database.ref('products/$id');

StreamSubscription? _productsSubscription;

Future
 getProductInScanner(String id) async {
final cleanId = id.trim();
final snapshot = await productByIdRef(cleanId).get();

if (!snapshot.exists) {
return ProductData(
id: "",
brands: "",
composition: "",
country: "",
name: "",
urlImage: "",
);
}

final barcode = snapshot.key;
final val = snapshot.value;

try {
Map map = {};
if (val! is Map) {
return ProductData(
id: "",
brands: "",
composition: "",
country: "",
name: "",
urlImage: "",
);
}
if (val is Map) {
map = {...Map.from(val)};
}
Map filtered = {};
if (map.length > 1) {
filtered = Map.fromEntries(
map.entries
.where((e) => e.key == id.trim())
.map((e) => MapEntry(e.key, Map.from(e.value))),
);
}

if (filtered.isEmpty) {
return ProductData(
id: "",
brands: "",
composition: "",
country: "",
name: "",
urlImage: "",
);
}

return ProductData.fromMap(map);
} catch (_) {
throw FormatException('Erro ao fomatar dados do produto');
}
}
Мне нужен этот код на iOS, чтобы вернуть только конкретный идентификатор, который я указываю в .Child () .
Но я уже понял, что это проблема iOS SDK.

Подробнее здесь: https://stackoverflow.com/questions/797 ... nly-in-ios
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»