使用 Node.js 函数从 Firebase 获取值键对

Get Value Key pair from Firebase with Node.js function

好的,我正在使用 Algolia 在我的应用程序中处理搜索。以下代码将我数据库中的任何内容添加到我的 Algolia 索引中。但是,无论何时导入数据,firebase 节点中的所有值都会置于 Algolia 索引中的 "text" 下。

如何才能将其存储为在 Firebase 中找到的键值对。

地址:1234 Main St.

VS. /(而不是)

正文:

地址:1234 Main St.


我的代码:

exports.indexentry = functions.database
  .ref('/blog-posts/{blogid}/text')
  .onWrite(event => {
    const index = client.initIndex(ALGOLIA_POSTS_INDEX_NAME);
    const firebaseObject = {
      text: event.data.val(),
      objectID: event.params.blogid,
    };
  });

所以您在这里缺少的是将数据推送到 Algolia。如果你想在一个对象中拥有所有的 firebase 数据,你可以做的是将它分配给一个新对象,以及 objectID

exports.indexentry = functions.database
  .ref('/blog-posts/{blogid}/text')
  .onWrite(event => {
    const index = client.initIndex(ALGOLIA_POSTS_INDEX_NAME);
    const firebaseObject = Object.assign({}, event.data.val(), {
      objectID: event.params.blogid,
    });
    index.saveObject(firebaseObject); // .then or .catch as well
  });

这有意义吗?