Algolia returns 的 Firebase 函数未定义

Firebase function for Algolia returns undefined

我正在关注有关如何使用 Firebase 实施 Algolia 的 Firebase 教程:https://firebase.google.com/docs/firestore/solutions/search

我目前停留在教程的索引部分,因为我有来自 firebase 云函数日志的错误。 这是云函数日志的输出

这是我写的代码

const functions = require('firebase-functions');

const algoliasearch = require("algoliasearch");

const ALGOLIA_ID = functions.config().algolia.app;
const ALGOLIA_ADMIN_KEY = functions.config().algolia.key;
const ALGOLIA_SEARCH_KEY = functions.config().algolia.search_key;

const ALGOLIA_INDEX_NAME = 'users';
const client = algoliasearch(ALGOLIA_ID, ALGOLIA_ADMIN_KEY);

// Update the search index every time a blog post is written.
exports.onUserCreated = functions.firestore.document('organisations/40R0LMA6ALZgF7KjHJMc/employees/{userId}').onCreate((snap, context) => {
    // Get the note document
    const user = snap.data();
  
    // Add an 'objectID' field which Algolia requires
    user.objectID = snap.id;
    console.log(user.objectID)
  
    // Write to the algolia index
    const index = client.initIndex(ALGOLIA_INDEX_NAME);
    return index.saveObject(user);
  });

您似乎没有正确设置本示例中使用的不同环境变量。

doc 中所述,要在执行 const ALGOLIA_ID = functions.config().algolia.app; 时获取 algolia.app 环境变量的值,您需要预先将其值设置如下:

firebase functions:config:set algolia.app="THE_ALGOLIA_ID" 

由于需要设置多个变量,可以一条指令设置,如下:

firebase functions:config:set algolia.app="THE_ALGOLIA_ID"  algolia.key="THE_ALGOLIA_ADMIN_KEY" ...

如文档中所述,“要检查当前存储在项目环境配置中的内容,您可以在 CLI 中使用 firebase functions:config:get”。