我正在关注有关如何使用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);
});
答案 0 :(得分:2)
似乎您没有正确设置本示例中使用的不同环境变量。
如doc中所述,要在执行algolia.app
时获取const ALGOLIA_ID = functions.config().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
”。