Adrian Woods
Adrian Woods

Reputation: 23

Safe to Save Binary Data in Cloud Firestore Database?

I've always used the Cloud Firestore Database (and the old real-time one) to store text, and then use the Storage for images.

While using SurveyJS and AngularFirestore, I discovered I can push binary files into and out of the Firestore Database with the attached code. My question is: Is this OK?? I mean it works great, but I don't want to incur a cost or network slowdown...Thanks

var resultAsString = JSON.stringify(this.survey.data);
this.qs.saveSupplierQuestionnaire(this.companyid, this.id,this.survey.data)
...

saveSupplierQuestionnaire(userid:string, questionnaireid:string, questionnaireData:any) {
    var resultAsString = JSON.stringify(questionnaireData);
    var numCompleted = 0; /////test grading
    const dbRef = this.afs.collection<questionnaire>('companies/' + userid + '/questionnaires/').doc(questionnaireid).update({results:resultAsString})

Upvotes: 2

Views: 2763

Answers (1)

Doug Stevenson
Doug Stevenson

Reputation: 317760

If it meets the needs of your application, then it's OK.

You should be aware than any time a document is read, the entire document is transferred to the client. So, even if you don't use the field with the binary data, you are going to make the user wait for the entire contents to be downloaded. This is true for all fields of a document, regardless of their types. There is really nothing special about binary fields, other than how the data is typed.

Upvotes: 2

Related Questions