我正在尝试将我的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 for Search的正确方法。
如果有人现在该怎么做,他会帮助我很多。 如果你有的话,请提前感谢你的建议或教程。
然后我在终端中运行节点index.js。但终端表示FIREBASE FATAL ERROR:无法确定Firebase数据库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 ?
答案 0 :(得分:0)
设置manuell
firebase.initializeApp({
databaseURL: "https://<yourURL>.firebaseio.com",
});
和
const ALGOLIA_APP_ID = '<your id>';
const ALGOLIA_API_KEY = '<your key>';
// configure algolia
const algolia = algoliasearch(
ALGOLIA_APP_ID,
ALGOLIA_API_KEY
);