子项目以及顶级项目的Firebase REST API POST(推送)唯一ID

时间:2016-01-15 11:30:22

标签: javascript firebase firebase-realtime-database

在我的应用中,用户可以创建"链"然后其他用户可以添加"链接"到链子。当用户创建一个新链时,他们会创建一个链接(不应该有没有链接的链)。

所以我想做这样的事情:

curl -X POST -d '{ "1": "First link for this chain" }' 'https://myapp.firebaseio.com/chains.json'

这将为新链创建一个唯一的时间戳ID,但问题是我还想要第一个链接的唯一时间戳ID,而不是" 1",以便它适合很好地与之后将推送的其他链接。

我认为可以使用JavaScript SDK等将多个请求全部放在一起,但是如何使用REST API执行此操作?

编辑:我没有提到我想在一个请求中完成所有操作,而不是创建一个空链作为一个请求,然后用另一个请求推送第一个链接。< / p>

1 个答案:

答案 0 :(得分:1)

在REST API上调用POST时,Firebase服务器会生成唯一ID。但对于存在Firebase SDK(例如JavaScript,iOS,Android)的平台,Firebase客户端生成的唯一ID。

Firebase生成的唯一ID也经常被称为&#34;推送ID&#34;,因为它们是由JavaScript push()方法生成的。要了解有关它们的更多信息,请阅读此article about push IDs

生成两个推送ID的代码段(使用JavaScript语法):

var ref = new Firebase('https://myapp.firebaseio.com/chains');
var newChain = ref.push();
console.log(newChain.key());
var newLink = newChain.push();
console.log(newLink.key());
newLink.set('First link for this chain');

最后一行是此代码段中唯一一次对Firebase服务器进行的调用。所有其他操作都是客户端的。

由于您未使用Firebase SDK,因此无法使用上面的JavaScript代码段。但是可以执行与上述代码段中客户端相同的操作:生成客户端的推送ID之一,然后将单个命令发送到REST API。

code for generating push IDs in JavaScript由Firebase在Github上发布: