Firebase-结构数据

Firebase - Struct data

本文关键字:数据 结构 Firebase-      更新时间:2023-09-26

想法

我正在使用Firebase。它有我的后端数据存储,我有一个像这样的用户列表

{
    "id" : 1,
    "member_number" : 1,
    "name": "b",
    "phone": "d",
    "email": "f",
    "picture" : "",
    "gender" : "male",
    "birthdate" : "21-05-1986",
    "address" : "",
    "postal_code" : {"prefix":"4750","suffix":"248"},
    "updated_on" : "1235648",
    "inserted_on" : "2014", 
    "visible" : true,
    "verified" : false
   }

我有一个这样的年份桶列表,其中的关键是桶年份

"buckets" : {
  "2014" : {},
  "2015" : {}
}

我的目标是,当我插入一个新用户时,将该用户分配到年份存储桶中。因此,如果我在2014年添加一个用户,该用户将进入2014年的存储桶,如果我添加2015年的用户,则该用户将加入2015年的存储盒,依此类推

我怎么能用firebase做到这一点?或者如何构造数据?

在用户列表中,我会将ID作为关键字。然后在每年的存储桶中,我只存储一个用户ID的列表。因此,如果你想查看2014年所有用户的列表,你可以检索用户ID的列表,然后按ID查找每个用户。

要存储新用户,您可以执行以下操作:

var currentyear = "2015";
var newUser = {
    "id" : 1,
    "member_number" : 1,
    "name": "b",
    "phone": "d",
    "email": "f",
    "picture" : "",
    "gender" : "male",
    "birthdate" : "21-05-1986",
    "address" : "",
    "postal_code" : {"prefix":"4750","suffix":"248"},
    "updated_on" : "1235648",
    "inserted_on" : currentyear, 
    "visible" : true,
    "verified" : false
   };
var userList = new Firebase('https://foo.firebase.url//userList');
var userRef = userList.child(newUser.id);
userRef.set(newUser);
var bucketRef = new Firebase('https://foo.firebase.url//bucketList//' + currentyear);
bucketRef.push({"id": newUser.id});

通过这种方式,可以很容易地访问和更新用户的数据,并按年份获取用户列表。