【问题标题】:Firestore function saving entire document data to AlgoliaFirestore 功能将整个文档数据保存到 Algolia
【发布时间】:2021-01-06 11:26:12
【问题描述】:

我创建了一个函数,它在触发onCreate 函数时将整个文档 保存到Algolia。我只想保存三个字段,而不是整个文档。

这是我目前的功能代码:

exports.addToIndex = functions.firestore.document('questions/{questionsId}')
        .onCreate((snapshot: { data: () => any; id: any; desc:any; }) => {
            const data = snapshot.data();
          //  const descdata = snapshot.data().desc;
            const objectID = snapshot.id;
            console.log(objectID);
         //   console.log(descdata);
         console.log(data);
    
          //  return index.saveObject({ ...descdata, objectID });
          return index.saveObject({ ...data, objectID });
        });

我只想保存三个objectid的:

  1. 对象ID
  2. 乳胶
  3. alatex

目前正在保存文档的全部18个字段。我该怎么做?

【问题讨论】:

  • 您是否有示例说明如何对数据进行建模?从 Firebase 检索数据会返回完整的节点,因此了解您的数据结构将很有帮助。

标签: google-cloud-firestore google-cloud-functions algolia


【解决方案1】:

data 可以携带整个 Firestore 文档。

对于有限的字段,我通常将索引数据单独框起来;如下所示

exports.addToIndex = functions.firestore.document('questions/{questionsId}')
        .onCreate((snapshot) => {
            const data = snapshot.data();
            const objectID = snapshot.id;
            let _index_data = {
                 'objectID': objectID,
                 'slatex': data.slatex,
                 'alatex': data. alatex
            }
    
            return index.saveObject(_index_data);
 });

【讨论】:

    猜你喜欢
    • 2019-08-26
    • 2018-06-25
    • 2019-09-28
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2020-06-05
    相关资源
    最近更新 更多