我通过文档,GitHub的仓库去了,但没有为我工作呢。
我的数据结构:
App {
posts : {
<post_keys> : {
auth_name : "name",
text : "some text" //and many other fields
}
}
}
1) Github上库 :如果我用这个,我只能从一个函数得到一个领域,如果我需要所有的领域,我需要编写不同的功能,用于每个,这是一个不错的办法。
2) Algolia官方文档使用Node.js语言 :这不能被部署为云的功能,但它做什么,我打算做。
我怎么可以编写可以部署在火力地堡,并得到整个对象与其在Algolia键索引的功能?
好了,所以我继续以创造一个火力地堡云功能指数在Algolia指数中的所有对象。 这是解决方案:
什么你做的是这样的:
exports.indexentry = functions.database.ref('/blog-posts/{blogid}/text').onWrite(event => {
你应该做的是以下几点:
exports.indexentry = functions.database.ref('/blog-posts/{blogid}').onWrite(event => {
const index = client.initIndex(ALGOLIA_POSTS_INDEX_NAME);
var firebaseObject = event.data.val();
firebaseObject.objectID = event.params.blogid;
return index.saveObject(firebaseObject).then(
() => event.data.adminRef.parent.child('last_index_timestamp').set(
Date.parse(event.timestamp)));
});
所不同的是在第一行:在第一种情况下,你只能听text
的变化,因此你只能得到包含文本变化的数据。 在第二种情况下,你会得到整个对象,因为你听在所有的博客对象的变化(注意一下/text
移除)。
我测试了它和它的作品对我来说:包括作者全对象Algolia被索引。