我想使用Firebase创建一个非常简单的银行,但由于我是NoSQL数据库的新手,我不知道如何构建数据。
我需要的数据非常简单。
主要对象是银行。银行有帐户。帐户有 姓名,余额和交易。交易引用了 发送和接收帐户以及金额和日期。
对我来说棘手的是,我不确定如何构建数据库,以便我可以将帐户连接到它所涉及的交易。
在SQL数据库中,我可以简单地创建一个事务表,并在发送方和接收方字段中使用帐号。然后,我可以通过简单的
找到帐户123
的所有交易
SELECT *
FROM transactions
WHERE sender = "123" OR receiver = "123"
如何使用Firebase执行此操作?
答案 0 :(得分:1)
您必须对数据进行非规范化,请参阅here
在您的具体情况下,我会将交易的参考存储到两个帐户。像这样:
trasactions:
{
transaction_by_autoID: {
... //transaction data
},
.... // all transactions here
}
accounts:
{
AUTO_ID: {
my_transactions:{
ref_to_transaction: true,
....
},
},
....
}
查看这些信息,您可以通过以下网址获取特定用户的所有交易:
http://yourfirebase.com/accounts/{account_ID}/my_transactions