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

时间:2016-05-09 08:55:05

标签: javascript angularjs firebase angularfire

在有任何问题之前,我有一个创建自定义UID的功能,因为我不需要长的Firebase UID,并希望更短的内容更容易记住。

无论如何,在我的create-function中我不确定我是否正确地将它添加到db中。 这是一个片段,下面是它在我的数据库中的样子。

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

这给了我,例如:

var array = [{ "module": "slick_module", "eventType": "swipe", "leadboxId": "1565", "advertId": "5653", "length": "length of event", "time": 1462783354789, "posted": "postedStatus" }, { "module": "slick_module", "eventType": "swipe", "leadboxId": "1565", "advertId": "56527", "length": "length of event", "time": 1462783357590, "posted": "postedStatus" }, { "module": "slick_module", "eventType": "swipe", "leadboxId": "1565", "advertId": "56527", "length": "length of event", "time": 1462783357590, "posted": "postedStatus" }],
    filtered = array.filter(function (a) {
        var key = a.leadboxId + '|' + a.advertId;
        if (!this[key]) {
            this[key] = true;
            return true;
        }
    }, Object.create(null));

document.write('<pre>' + JSON.stringify(filtered, 0, 4) + '</pre>');

由于我想在页面上显示添加到0Knn8M的内容,它还会显示FB UID。当然我可以做一个CSS'显示:无;'对那个孩子,但不应该是另一种方式吗?

1 个答案:

答案 0 :(得分:0)

我认为,这是一个错误:

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()但未将结果分配给任何变量。在var lists = new Firebase('https://url.firebaseio.com/lists/' + random);中,变量random现在是undefined。所以firebase会生成它自己的id。 所以你需要改变一件事var random = generator()