Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase-结构数据 想法_Javascript_Firebase - Fatal编程技术网

Javascript Firebase-结构数据 想法

Javascript Firebase-结构数据 想法,javascript,firebase,Javascript,Firebase,我使用的Firebase有我的后端数据存储,我有一个这样的用户列表 { "id" : 1, "member_number" : 1, "name": "b", "phone": "d", "email": "f", "picture" : "", "gender" : "male", "birthdate" : "21-05-1986", "address" : "", "postal_code" : {"prefi

我使用的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});

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

这与文档中的推荐模式相匹配。伟大的回答@Seamus!