Модуль "Firebase" не является частью SDK администратора, это SDK клиента. Вы не можете смешивать использование этого с firebase-admin. Придерживайтесь только символов и API, предоставляемых firebase-admin, если вы собираетесь передавать их в качестве параметров в методы firebase-admin SDK. Вероятно, вам следует полностью удалить модуль «firebase» из вашего проекта.
Вы не показывали это, но я предполагаю, что вы уже импортировали firebase-admin, как один из них:
import * as admin from 'firebase-admin'
const admin = require('firebase-admin')
Теперь, когда вы хотите использовать API Firestore, вы обычно просматриваете предоставленный им объект firestore:
const firestore = admin.firestore
Вы уже делаете это один раз со своим звонком на admin.firestore().collection()...
. Это в основном реэкспорт всего из Cloud Firestore SDK для nodejs .
Объект Blob , который вы используете с клиентским SDK, не предоставляется серверным SDK. Если вы хотите написать байтовый массив, вам придется напрямую использовать объект Buffer узла.
doc.set({
type: stream.type,
data: new Buffer((Pako.gzip(JSON.stringify(stream.data), {to: 'string'})), 'binary')
})
Или все, что вам нужно сделать, чтобы получить правильный буфер.