【问题标题】:How to enable `ignoreUndefinedProperties` in node js如何在节点 js 中启用 `ignoreUndefinedProperties`
【发布时间】:2020-09-10 03:53:10
【问题描述】:

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

【问题讨论】:

    标签: javascript node.js express google-cloud-firestore


    【解决方案1】:

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

    import * as firestore from "firebase-admin";
    

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

    const db = firestore.firestore();
    db.settings({ ignoreUndefinedProperties: true })
    

    【讨论】:

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

    如果您多次调用此函数时遇到错误,我建议您将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'
    

    【讨论】:

      【解决方案3】:

      对于使用 v9 API 的任何人:

      import { getFirestore, connectFirestoreEmulator, initializeFirestore } from 'firebase/firestore'; // Firebase v9+
      
      // Must be called before getFirestore()
      initializeFirestore(app, {
        ignoreUndefinedProperties: true
      });
      const firestore = getFirestore(app);
      

      【讨论】:

        【解决方案4】:

        如果您遇到错误(Firestore 已被初始化。您只能调用 settings() 一次),即使在尝试其他答案后,请重新启动您的 IDE/VSCode 和终端。这对我有用。

        【讨论】:

          猜你喜欢
          • 2017-03-19
          • 2019-05-14
          • 1970-01-01
          • 2021-12-21
          • 1970-01-01
          • 1970-01-01
          • 2019-02-15
          • 1970-01-01
          • 2016-01-18
          相关资源
          最近更新 更多