Я пытаюсь сохранить файл CSV в текстовом поле внутри Cloud Firestore.Однако Firestore удаляет все разрывы строк и сохраняет весь CSV-файл в виде одной строки.Документация Firestore Data Types ничего не говорит об ограничении типа символов, которые могут быть сохранены, кроме как в UTF-8:
До 1 048 487 байт (1 МиБ - 89 байт).Только первые 1500 байтов представления UTF-8 рассматриваются запросами.
- Есть ли документированное ограничение?
- Если действительно разрывы строк не могут быть сохранены,Какая рекомендуемая альтернатива?Кодировка Base64?
Обновление
Код выглядит примерно так:
/**** Read CSV file ****/
let csvFileText;
const reader = new FileReader();
reader.onload = () => {
this.setCsvFileText(reader.result);
};
reader.readAsText(file);
//------ Wait for user to hit submit button ------
/**** Create order in Firestore ****/
const order = {
csvFileText: csvFileText,
firstName: 'John',
lastName: 'Doe',
email: 'jdoe@gmail.com'
}
return this.db
.collection('orders')
.add(order)
.then(docRef => docRef.id);
Непосредственно перед вызовом Firestore я вижу, чтоorder.csvFileText
- это хороший CSV-файл с переносами строк (в отладчике Chrome).Когда я смотрю на значение, хранящееся в Firestore (в консоли Firebase), разрывы строк теряются.