Javascript AngularFire:$添加设置fbUID和自定义UID,为什么?

Javascript AngularFire:$添加设置fbUID和自定义UID,为什么?,javascript,angularjs,firebase,angularfire,Javascript,Angularjs,Firebase,Angularfire,在有任何问题之前,我有一个创建自定义UID的函数,因为我不“需要”长的Firebase UID,并且想要更简短、更容易记住的UID 无论如何,在我的create函数中,我不确定我是否正确地将其添加到了数据库中。 这里是一个片段,下面是它在我的数据库中的外观 $scope.create = function(){ // Generate a shorter random uid (6 chars) that replaces the long regular Firebase

在有任何问题之前,我有一个创建自定义UID的函数,因为我不“需要”长的Firebase UID,并且想要更简短、更容易记住的UID

无论如何,在我的create函数中,我不确定我是否正确地将其添加到了数据库中。 这里是一个片段,下面是它在我的数据库中的外观

$scope.create = function(){
          // Generate a shorter random uid (6 chars) that replaces the long regular Firebase uid
          letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
          uid_length = 6;
          generator = function(){
            random = '';
            for(var i = 0; i < uid_length; i++){
              random += letters.charAt(Math.floor(Math.random() * letters.length));
            }
            return random;
          }
          generator();

          var lists = new Firebase('https://url.firebaseio.com/lists/' + random);
          firebaseLists = $firebaseArray(lists);

          //lists.child(random).set(random);
          firebaseLists.$add(random).then(function(lists){
          })
$scope.create=function(){
//生成较短的随机uid(6个字符),以替换长的常规Firebase uid
字母='ABCDEFGHIJKLMNOPQRSTUVXYZABDEFGHIJKLMNOPQRSTUVXYZ0123456789';
uid_长度=6;
生成器=函数(){
随机='';
对于(变量i=0;i
例如,这给了我:

lists
   0Knn8M <- custom UID
     -KH6kSxPAaerjU: '0Knn8M'
列表

0Knn8M我认为,这是一个错误:

generator = function(){
  random = '';
  for(var i = 0; i < uid_length; i++){
    random += letters.charAt(Math.floor(Math.random() * letters.length));
  }
  return random;
}
generator();

var lists = new Firebase('https://url.firebaseio.com/lists/' + random);
generator=函数(){
随机='';
对于(变量i=0;i
您正在调用
generator()
,但没有将其结果分配给任何变量。在
var list=new Firebase('https://url.firebaseio.com/lists/“+random);
变量
random
现在是
未定义的
。所以我想firebase会生成自己的id。
因此,当您在firebasearray上使用$add时,您只需更改一件事。
var random=generator()

它将为您生成唯一的firebase id。为了避免这种情况,您应该使用另一种保存到firebase的方法。@AndréKool哦,这是真的。我删除了整个$add函数,只做了“FirebaseList.$set(random)”,一开始不起作用,但当我将它放在生成器函数中时,它似乎起到了我想要的作用。现在我只需要整理列表视图,因为它的行为不好。谢谢!