这个问题在这里已有答案:
我需要为fire-base数据库生成自动增量id。当第一项id必须为1而第二项必须为2时
var database = firebase.database();
var userDetails = database.ref("Article");
userDetails.push({
email: email,
title: title,
details: dis,
});
Firebase提供实时数据库。为此,它们提供离线功能,并且还能够监视数据库中的更改。正如他们在docs中所说,他们使用尽力而为的方法,尝试保持数据同步,但为了保持应用程序的响应性,他们首先在本地编写,然后同步数据库。
在此设置中使用自动增量ID是有问题的,因为我们可能有两个用户在其数据库中添加内容,这将在本地发生,最终一个将能够同步,另一个将发生冲突。为了避免这种情况,Firebase使用基于时间戳的自动生成的密钥并避免冲突。
一个重要的一点是,这些密钥按时间顺序排序,这可能很有用。除非您只有一台服务器执行所有操作(而不是很多应用程序或大量用户网站会话),否则最好处理Firebase提议的范例,以避免冲突。