在firebase数据库中推送数据时,子类自动生成id

时间:2017-09-06 03:34:46

标签: angularjs firebase firebase-realtime-database angularfire

我正在尝试使用angularjs将数据推送到firebase数据库。我使用系统作为密钥,然后使用设备作为孩子,但是当我推送数据时,它会生成一个密钥,然后存储设备。我希望它能像我这样存储我的数据:

//This is the only way to use resource files dependency injection (expect for using template):
//encapsulating the environment variable in another variable prevents it from being undefined inside @component
//using "" + the variable prevents Error: Cannot find module "." at webpackMissingModule 
var tmp = environment;
@Component({
  selector: 'my-selector',
  templateUrl: "" + tmp.html,
  styleUrls: ["" + tmp.css]
})

这是我的代码:

System -> Equipment1
       -> Equipment2
       -> Equipment3

System2 -> Equipment1
        -> Equipment2
        -> Equipment3

这是我推送数据后的样子。

Database

1 个答案:

答案 0 :(得分:1)

如果要控制子节点的名称,请不要调用push()

firebase.database().ref('data/' + $scope.system + '/equipments').set({
        equipment: equipment
});

但是你可能想给孩子节点命名,例如

firebase.database().ref('data/' + $scope.system + '/equipments').child("Equipment1").set({
        equipment: equipment
});

或者

firebase.database().ref('data/' + $scope.system + '/equipments')
    .child(equipment).set(equipment);