Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 运行node index.js不会执行任何操作_Node.js_Firebase Realtime Database_Algolia - Fatal编程技术网

Node.js 运行node index.js不会执行任何操作

Node.js 运行node index.js不会执行任何操作,node.js,firebase-realtime-database,algolia,Node.js,Firebase Realtime Database,Algolia,我试图按照一个简单的教程来设置algolia,你可以在这里找到 我逐字地将代码复制到index.js文件中 当我在终端中运行node index.js时,我得到 没有成功消息。阿尔戈利亚什么都没有。没有什么。我已经包括了我的代码,任何人都知道我可能做错了什么。这让我沮丧了好几个小时 const algoliasearch = require('algoliasearch'); const dotenv = require('dotenv'); const firebase = require

我试图按照一个简单的教程来设置algolia,你可以在这里找到

我逐字地将代码复制到index.js文件中

当我在终端中运行node index.js时,我得到

没有成功消息。阿尔戈利亚什么都没有。没有什么。我已经包括了我的代码,任何人都知道我可能做错了什么。这让我沮丧了好几个小时

const algoliasearch = require('algoliasearch');
const dotenv = require('dotenv');
const firebase = require('firebase');

// load values from the .env file in this directory into process.env
dotenv.load();

// configure firebase
firebase.initializeApp({
  databaseURL: process.env.FIREBASE_DATABASE_URL,
});
const database = firebase.database();

// configure algolia
const algolia = algoliasearch(
  process.env.ALGOLIA_APP_ID,
  process.env.ALGOLIA_API_KEY
);
const index = algolia.initIndex(process.env.ALGOLIA_INDEX_NAME);

  // Get all contacts from Firebase
  database.ref('/events').once('value', event => {
    console.log('index is', index);

    // Build an array of all records to push to Algolia
    const records = [];
    event.forEach(event => {

      // get the key and data from the snapshot
      const childKey = event.key;
      const childData = event.val();
      // We set the Algolia objectID as the Firebase .key
      childData.objectID = childKey;
      // Add object for indexing
      console.log('child data is', childData);

      records.push(childData);
    });

    // Add or update new objects
    index
      .saveObjects(records)
      .then(() => {
        console.log('records are', records);

        console.log('Events imported into Algolia');
      })
      .catch(error => {
        console.error('Error when importing events into Algolia', error);
        process.exit(1);
      });
  });
我已经完成了教程中的所有步骤。我甚至每次运行node index.js都会再次运行它,无论我做什么都不会发生任何事情

它说,首先您需要安装这些模块:

npm install dotenv --save
npm install algoliasearch --save
npm install firebase --save
然后设置环境变量:

    export ALGOLIA_APP_ID=<algolia-app-id>
    export ALGOLIA_API_KEY=<algolia-api-key>
    export ALGOLIA_INDEX_NAME='contacts'
    export FIREBASE_DATABASE_URL=https://<my-firebase-database>.firebaseio.com
export ALGOLIA\u APP\u ID=
导出ALGOLIA_API_密钥=
导出ALGOLIA_索引_NAME='contacts'
导出FIREBASE\u数据库\u URL=https://.firebaseio.com

尝试这些方法,如果仍然没有得到任何结果,那么我认为您必须从某处发出或调用'/events'事件来控制台
console.log('index is',index)部分。

问题与数据库链接有关。
检查FIREBASE_DATABASE_URL的.env文件中的值,它应该是这样的:

它告诉我在一个名为“.env”的文件中设置我的环境。我这样做了,但仍然没有做。相信我,在发布检查控制台在
/events
事件或api或连接中之前,我至少遵循了所有这些步骤,因此根据我的理解,我们必须点击事件来检查日志=
onsole.log('index is',index)。数据库调用从不执行是的,所以我记录了url,这就是它的样子。但当我回去检查algolia时,我现在没有看到任何记录。你在firebase的事件集合中有任何数据吗?你熟悉algoliaTBH吗,第一次听说它。也是第一次使用firebase:D测试smth