Если вы используете параметры (?
), , по умолчанию максимальное число 999 .
Если вы создаете инструкцию SQL динамически, вставляя значения напрямую ( что плохо для строк), нет верхнего предела на длине такого списка. Тем не менее, существует предел длины всей инструкции SQL , которая по умолчанию равна миллиону байтов.
Если вы не можете гарантировать, что ваш запрос не превышает эти ограничения, вы должны использовать временную таблицу (см. ответ LS_dev).
Это лучший способ?
void addUser(User user) async {
Map<String, dynamic> userData = user.ToMap();
await Firestore.instance.collection('user').add(userData).then(
(document) {
userId = document.documentID;
for (var i = 0; i < user.address.length; i++) {
Firestore.instance
.collection('user')
.document('$userId')
.collection('address')
.add(user.address.get(i));
}
},
);
}