如何在firebase中创建关系数据库?

时间:2017-06-13 14:20:40

标签: android firebase firebase-realtime-database relational-database

我正在从事大型项目。最后,由于用户友好性和简单性,我选择了Android和Firebase。我将有多个孩子喜欢以下:

products
 1
 name: 
"p1"
 2
 name: 
"p2"


 route
 1: 
"xyz"
 2: 
"abx"

以下是一个用户案例: 如果用户更新路由1并放入'john'而不是'xyz',则名称1应更新为'x1'而不是'p1'。

其中一种方法是通过android以编程方式使用'ondatachange()等方法。但我想在服务器端执行此操作。每次当'x'路由更新产品'a'应该在android app中更新时,我不想写。

我们如何在firebase上构建关系数据库?

请记住,不会有两个表,但会有50多个键值对。

2 个答案:

答案 0 :(得分:2)

我同意你不想做客户端的所有工作!适用于Firebase的云功能是一个不错的选择。您可以在写入数据库中的路径时触发函数,然后更改其他相关路径。查看这些资源以了解更多信息:

Getting Started with Cloud Functions for Firebase

GitHub samples

Cloud Functions for Firebase documentation

Writing a Database Trigger

Writing a Cloud Storage Trigger: Part 1

Writing a Cloud Storage Trigger: Part 2

答案 1 :(得分:0)

您可以使用firebase admin sdk或firebase函数来侦听更改。 代码看起来像这样:

exports.routeUpdated = functions.database.ref("route/{id}").onWrite(event => {
    // read the event value/s you need
    const id = // id of the product you want to update
    let updates = {};
    //set updates like updates['/name'] = ...
    admin.database().ref('products/' + id).update(updates).then(() => {
        //...
    }); });