Хранение текстового файла в текстовом поле Firestore удаляет разрывы строк - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь сохранить файл 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), разрывы строк теряются.

1 Ответ

0 голосов
/ 12 февраля 2019

Все данные, поступающие в базу данных и из нее, сохраняются как есть.То, что вы видите, это то, что консоль Firebase показывает упрощенное представление данных без возврата каретки.Если это не подходит для вашего случая использования, отправьте запрос на добавление .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...