Angular-火力基地。数据未正确插入

Angular-firebase. Data is not inserted correctly

我希望我的数据像这样插入到 firebase 中:

cities:{
    Tokyo:{
        name: "Tokyo, JP"
    }
    London:{
        name: "London, UK"
    }

    and so on...

我从在线 GUI 手动插入了一些数据:cities

但不幸的是它被插入了:minsk

我的代码

Firebase 工厂:

export default function CitiesFactory($firebaseArray, Firebase) {
    'ngInject';
    var ref = new Firebase("https://name.firebaseio.com/");
    return $firebaseArray(ref.child('cities'));
}

控制器(添加功能):

    $scope.addoras = function(city) {
        CitiesFactory.$add({
            city: {
                name: city
            }
        }).then(function(CitiesFactory) {
            var id = CitiesFactory.key();
            console.log('Added Contact ' + id);
            $scope.addorasmodel = '';

        });
    };

有人可以帮助我吗?

当您使用 $add() 时,它将生成一个唯一的推送 ID,如 documentation.

中所述

如果您想避免这些唯一 ID,您可以使用 set() 或 update() (Documentation)

var ref = new Firebase("https://name.firebaseio.com/");
ref.set({
    city: {
        name: city
    }
});

var ref = new Firebase("https://name.firebaseio.com/");
ref.update({
    city: {
        name: city
    }
});