好的,我正在使用 Algolia 来处理我的应用程序中的搜索。以下代码将我的数据库中的所有内容添加到我的 Algolia 索引中。但是,每当导入数据时,Firebase Node 中的所有值都会放置在 Algolia 索引中的“文本”下。
如何将其作为 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
});
这有道理吗?
我是一名优秀的程序员,十分优秀!