【发布时间】:2018-03-17 06:49:44
【问题描述】:
我正在尝试将我的 Firebase 数据库与 Algolia Search 连接起来。 我遵循来自 Algolia 的以下链接。 https://www.algolia.com/doc/tutorials/indexing/3rd-party-service/firebase-algolia/
它说我必须创建一个 Node.js 应用程序,所以我做到了。 然后创建一个名为 .env 的文件并从 Firebase 生成新的私钥(我所做的)。
但下一步有点奇怪,因为它要求我在我提供给您的链接的“创建”部分中创建一个名为 index.js 的 JavaScript 文件。 在“创建”部分,我很困惑,我不知道这个链接是否是连接我的 Firebase 数据库和 Algolia 以进行搜索的正确方法。
如果有人现在如何做到这一点,他会帮助我很多。 提前感谢您的建议或教程。
然后我必须在终端中运行 node index.js。但是终端说 FIREBASE FATAL ERROR: Can't determine Firebase Database URL。请务必在调用 firebase.initializeApp() 时包含数据库 URL 选项。
这是我的 index.js 文件:
var dotenv = require('dotenv');
var firebaseAdmin = require("firebase-admin");
var algoliasearch = require('algoliasearch');
// load values from the .env file in this directory into process.env
dotenv.load();
// configure firebase
var serviceAccount = require("./serviceAccountKey.json");
firebaseAdmin.initializeApp({
credential: firebaseAdmin.credential.cert(serviceAccount),
databaseURL: process.env.FIREBASE_DATABASE_URL // Here the error
});
var database = firebaseAdmin.database();
var algolia = algoliasearch(process.env.ALGOLIA_APP_ID, process.env.ALGOLIA_API_KEY);
// Index for Algolia with my database
var index = algolia.initIndex('users');
// Begin import
var contactsRef = database.ref("/users"); // My table calls users in firebase
contactsRef.once('value', initialImport);
function initialImport(dataSnapshot) {
// Array of data to index
var objectsToIndex = [];
// Get all objects
var values = dataSnapshot.val();
// Process each child Firebase object
dataSnapshot.forEach((function(childSnapshot) {
// get the key and data from the snapshot
var childKey = childSnapshot.key;
var childData = childSnapshot.val();
// Specify Algolia's objectID using the Firebase object key
childData.objectID = childKey;
// Add object for indexing
objectsToIndex.push(childData);
}))
// Add or update new objects
index.saveObjects(objectsToIndex, function(err, content) {
if (err) {
throw err;
}
console.log('Firebase -> Algolia import done');
process.exit(0);
});
}
// End Algolia import
现在我创建了我的 .env 文件,但它似乎不起作用:
ALGOLIA_APP_ID=TFISJH1AP3 // The name app in Algolia
ALGOLIA_API_KEY=83bd61cd47159f... // Secret Key
FIREBASE_DATABASE_URL=https://live-event-3989e.firebaseio.com // Maybe here it's not like that I got to write my firebase URL ?
【问题讨论】:
-
here 是一个示例
-
你自己试过了吗?因为我今天已经看到了这个页面,并没有帮助我
-
嗨,“从“创建”部分我很困惑”你能解释一下哪个部分让你感到困惑吗?谢谢。
-
好的,我将使用我遇到问题的部分的屏幕截图来编辑我的问题。
标签: ios firebase search firebase-realtime-database algolia