【发布时间】:2020-09-10 03:53:10
【问题描述】:
我正在为我在 Nodejs 和 Express 中的应用程序开发一个 REST api。但是每次我尝试发送请求时,我都会收到一个未定义的错误。请问我怎样才能启用'ignoreundefinedproperties'
【问题讨论】:
标签: javascript node.js express google-cloud-firestore
我正在为我在 Nodejs 和 Express 中的应用程序开发一个 REST api。但是每次我尝试发送请求时,我都会收到一个未定义的错误。请问我怎样才能启用'ignoreundefinedproperties'
【问题讨论】:
标签: javascript node.js express google-cloud-firestore
一旦你像这样导入 firebase-admin sdk(在 Typescript 中)
import * as firestore from "firebase-admin";
那么你只需要像这样设置设置:
const db = firestore.firestore();
db.settings({ ignoreUndefinedProperties: true })
【讨论】:
如果您多次调用此函数时遇到错误,我建议您将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});
index.ts 的顶部:
import './initialize.ts'
【讨论】:
对于使用 v9 API 的任何人:
import { getFirestore, connectFirestoreEmulator, initializeFirestore } from 'firebase/firestore'; // Firebase v9+
// Must be called before getFirestore()
initializeFirestore(app, {
ignoreUndefinedProperties: true
});
const firestore = getFirestore(app);
【讨论】:
如果您遇到错误(Firestore 已被初始化。您只能调用 settings() 一次),即使在尝试其他答案后,请重新启动您的 IDE/VSCode 和终端。这对我有用。
【讨论】: