firebase / firebase/firebase-admin-node

Firestore Bytes serializing not working on admin SDK[Firestore]

未关闭
#2,476 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
api: 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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。