push的文档让我做了这个小实验:
var FB = new Firebase(MYURL);
var ref = FB.push({test: 'push'}, function() { console.log('callback completed'); });
console.log(ref.name());
我看到ref.name()
即使在调用异步回调之前,调用也会立即返回一个 ID。这是否意味着在没有咨询服务器的情况下在客户端创建 ID?我假设是这样,这引起了人们的好奇:
如果两个客户端发送相同的 ID,服务器将如何处理冲突?第二个会覆盖第一个吗?
我在这里不是假设两个客户端会创建冲突的 ID,而是假设恶意客户端可能会欺骗 ID 并覆盖现有记录。在为即将到来的安全性配置规则时,我需要注意这个问题吗?
更重要的是,我非常想知道 ID 是如何创建的,因此我可以确保正确使用它们。