如何在节点js中启用`ignoreUndefinedProperties`

Ade*_*eji 20 javascript node.js express google-cloud-firestore

我正在为我在 Nodejs 和 Express 中的应用程序开发 REST api。但是每次我尝试发送请求时,我都会收到一个未定义的错误。请问如何启用“ignoreundefinedproperties”

Nav*_*mar 68

一旦你像这样导入 firebase-admin sdk(在 Typescript 中)

import * as firestore from "firebase-admin";
Run Code Online (Sandbox Code Playgroud)

那么你只需要像这样设置设置:

const db = firestore.firestore();
db.settings({ ignoreUndefinedProperties: true })
Run Code Online (Sandbox Code Playgroud)

  • 错误:错误:Firestore 已初始化。您只能调用 settings() 一次,并且只能在调用 Firestore 对象上的任何其他方法之前调用。 (4认同)
  • @Navneet 有没有办法一次性使用此设置? (2认同)

phr*_*ead 16

对于使用 v9 API 的任何人:

import { getFirestore, connectFirestoreEmulator, initializeFirestore } from 'firebase/firestore'; // Firebase v9+

// Must be called before getFirestore()
initializeFirestore(app, {
  ignoreUndefinedProperties: true
});
const firestore = getFirestore(app);
Run Code Online (Sandbox Code Playgroud)

  • firebase 管理员怎么样? (3认同)

kmo*_*y12 5

如果你多次调用这个错误,我建议你把它放在admin.firestore().settings({ignoreUndefinedProperties:true});同一个地方admin.initializeApp();

这是我在 Typescript 项目中的做法

初始化.ts:

import * as admin from 'firebase-admin';
import 'firebase-functions';


admin.initializeApp();
admin.firestore().settings({ignoreUndefinedProperties:true});
Run Code Online (Sandbox Code Playgroud)

index.ts 的顶部:

import './initialize.ts'
Run Code Online (Sandbox Code Playgroud)