Google cloud firestore Algolia Livesearch将Firestore数据索引到Algolia

Google cloud firestore Algolia Livesearch将Firestore数据索引到Algolia,google-cloud-firestore,algolia,Google Cloud Firestore,Algolia,我正在尝试在一个Web项目中使用Algolia for Firestore。我遵循下一页的指导方针。作为第一步,他们要求您同步 我在Node.js中设置了所有内容,然后运行代码。与Firestore的连接很好,我在控制台的DB中看到了所有项目。与Algolia的连接尚未运行 我在Node.js控制台中遇到以下错误: 未处理的PromisejectionWarning:未处理的承诺拒绝 此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺 这部分代码没有运行。 有

我正在尝试在一个Web项目中使用Algolia for Firestore。我遵循下一页的指导方针。作为第一步,他们要求您同步

我在Node.js中设置了所有内容,然后运行代码。与Firestore的连接很好,我在控制台的DB中看到了所有项目。与Algolia的连接尚未运行

我在Node.js控制台中遇到以下错误:

未处理的PromisejectionWarning:未处理的承诺拒绝

此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺

这部分代码没有运行。 有没有人能告诉我如何解决这个问题

    // Add or update new objects
    index.saveObjects(records).then(() => {
        console.log('Documents imported into Algolia');
        process.exit(0);
    })
我在FireStore中的安全规则:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}
//API密钥需要具有写访问权限
//关闭应用程序的凭据
ALGOLIA_应用程序_ID=“xxxx”
ALGOLIA_API_KEY=“xxxx”
ALGOLIA_索引_NAME='xxxx'
FIREBASE_数据库_URL=“xxxx”;
FIREBASE_项目\u ID=“xxxx”;
//您可以在控制台中获取数据,但您的系统不会将数据保存到ALGOLIA
//与FIRESTORE的连接正常,与ALGOLIA的连接不正常
//应用程序依赖项
常量algoliasearch=require('algoliasearch');
const dotenv=require('dotenv');
const firebase=require('firebase');
const firestore=require('firebase/firestore');
//初始化FIRESTORE
firebase.initializeApp({
projectId:FIREBASE_项目ID,
databaseURL:FIREBASE\u数据库\u URL
})
const db=firebase.firestore();
//配置算法
常量algolia=algoliasearch(
ALGOLIA_应用程序_ID,
ALGOLIA_API_密钥
);
const index=algolia.initIndex.algolia_index_NAME;
//将FIRESTORE数据索引到ALGOLIA中
var docRef=db.collection(ALGOLIA_索引_名称);
常量记录=[];
collection(ALGOLIA_INDEX_NAME).get()
。然后((快照)=>{
snapshot.forEach((doc)=>{
//从快照中获取密钥和数据
const childKey=doc.id;
const childData=doc.data();
//我们将Algolia对象设置为Firebase.key
childData.objectID=childKey;
//添加用于索引的对象
记录。推送(childData);
console.log(doc.id'=>',doc.data());
});
//添加或更新新对象
index.saveObjects(记录)。然后(()=>{
log(“导入到Algolia中的文档”);
进程退出(0);
})
.catch(错误=>{
console.error('将文档导入Algolia时出错',错误);
过程。退出(1);
});
})
.catch((错误)=>{
console.error('获取文档时出错',错误);
});
//在ALGOLIA和FIRESTORE之间建立实时连接
//在客户端、前端调用ALGOLIA API
//需要设置本地主机的侦听端口:3000/