firebase-admin-node icon indicating copy to clipboard operation
firebase-admin-node copied to clipboard

Firestore Bytes serializing not working on admin SDK[Firestore]

Open Vloz opened this issue 1 year ago • 1 comments

  • Operating System version:w10
  • Firebase SDK version: 13.1
  • Firebase Product: Firestore
  • Node.js version: 20.11
  • NPM version: 10.3

When trying to store uint8array as Firestore.Bytes from admin-sdk throw a serializing error:

Error: Value for argument "data" is not a valid Firestore document. Couldn't serialize object of type "Bytes" (found in field "binaryData"). Firestore doesn't support JavaScript objects with custom prototypes (i.e. objects that were created via the "new" operator).

Uint8array seems to be the way to go, but then mismatch Web SDK (web sdk return bytes array as Firestore.Bytes objects).

Steps to reproduce:

import { Bytes } from "firebase/firestore";

const bin = new Uint8Array([0x48, 0x65, 0x6C, 0x6C, 0x6F]);

const fsBytes = Bytes.fromUint8Array(bin);

db.collection('your_collection').doc('your_document').set({
  binaryData: fsBytes
});

Vloz avatar Feb 26 '24 23:02 Vloz

I found a few problems with this issue:

  • I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
  • This issue does not seem to follow the issue template. Make sure you provide all the required information.

google-oss-bot avatar Feb 26 '24 23:02 google-oss-bot