firebase / firebase/firebase-admin-node
Firestore Bytes serializing not working on admin SDK[Firestore]
- 主要语言
- TypeScript
- 星标
- 1.7k
- 派生
- 419
- 平均合并
- 3 天 10 小时
- 30 天内合并 PR
- 16
描述
* 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
});
```
贡献指南
调研方向
从提供的 Node.js 复现开始,使用 Firebase SDK 13.1、Node.js 20.11 和 Admin SDK,重点关注 Firestore 文档序列化边界。未指定 repository 文件或测试;完成的标准是确定 Bytes/Uint8Array 表示是否可以一致地存储,并使用回归测试覆盖已确认的行为。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- node.js, typescript
- 领域
- database
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100