在Firestore的文本字段中存储文本文件可删除换行符

时间:2019-02-11 19:51:28

标签: javascript firebase google-cloud-firestore

我正在尝试将CS​​V文件存储在Cloud Firestore内的文本字段中。但是,Firestore会删除所有换行符,并将整个CSV文件存储为一行。 Firestore Data Types documentation并没有说其他关于可以存储的字符类型的限制,只是应该使用UTF-8:

  

最多1,048,487字节(1 MiB-89字节)。查询只考虑UTF-8表示形式的前1,500个字节。

  • 是否有文件记载的限制?
  • 如果确实不能存储换行符,建议的替代方法是什么? 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 :(得分:2)

所有进出数据库的数据均保持原样。您所看到的是Firebase控制台显示了简化的数据视图而没有回车的事实。如果这对您的用例不利,请file a feature request