Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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
Firebase Algolia与node.js同步-初始导入工作正常,但更新了don';自动同步_Firebase_Firebase Realtime Database_Algolia - Fatal编程技术网

Firebase Algolia与node.js同步-初始导入工作正常,但更新了don';自动同步

Firebase Algolia与node.js同步-初始导入工作正常,但更新了don';自动同步,firebase,firebase-realtime-database,algolia,Firebase,Firebase Realtime Database,Algolia,我有一个节点应用程序,可以将我的Algolia和Firebase数据库同步在一起,在遵循Algolia网站上的文档之后,我已经能够使初始导入工作正常。然而,每当我更新Firebase数据库中的条目时,我都会注意到它并没有重新导入数据 这是我的密码: usersRef.on('child_changed', addOrUpdateUserIndexRecord); function addOrUpdateUserIndexRecord(dataSnapshot) { // Get Fire

我有一个节点应用程序,可以将我的Algolia和Firebase数据库同步在一起,在遵循Algolia网站上的文档之后,我已经能够使初始导入工作正常。然而,每当我更新Firebase数据库中的条目时,我都会注意到它并没有重新导入数据

这是我的密码:

usersRef.on('child_changed', addOrUpdateUserIndexRecord);

function addOrUpdateUserIndexRecord(dataSnapshot) {

  // Get Firebase object
  var firebaseObject = dataSnapshot.val();

  // Specify Algolia's objectID using the Firebase object key
  firebaseObject.objectID = dataSnapshot.key;

  // Add or update object
  users.saveObject(firebaseObject, function(err, content) {
    if (err) {
      throw err;
    }
    console.log('Firebase<>Algolia object saved', firebaseObject.objectID);
  });
}
usersRef.on('child\u changed',addOrUpdateUserIndexRecord);
函数addOrUpdateUserIndexRecord(dataSnapshot){
//获取Firebase对象
var firebaseObject=dataSnapshot.val();
//使用Firebase对象键指定Algolia的objectID
firebaseObject.objectID=dataSnapshot.key;
//添加或更新对象
users.saveObject(firebaseObject,函数(err,content){
如果(错误){
犯错误;
}
log('FirebaseAlgolia对象已保存',firebaseObject.objectID);
});
}

我是否遗漏了代码存在的原因,但当孩子被更改时它不会触发?

如果你在addOrUpdateUserIndexRecord中放入日志语句,你看到它打印了吗?是的,只有在我第一次运行脚本时才会发生。如果我让脚本保持运行并尝试更新Firebase数据库中的属性,它不会重新发出log语句。一种猜测是,脚本在某个地方崩溃,因此它停止侦听更改。否则,您是否仔细检查了该子项是否在您期望的usersRef下?如果添加或删除child_也有效果,可能值得一看。