使用 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
});
这有意义吗?
好的,我正在使用 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
});
这有意义吗?