如何增加Firebase实时数据库中的值?

如何增加Firebase实时数据库中的值?,firebase,firebase-realtime-database,nosql,Firebase,Firebase Realtime Database,Nosql,我有一个简单的结构: { "items": { "item1": { "likes": 4 }, "item2": { "likes": 5 } } } 我启用脱机模式: Firebase.getDefaultConfig().setPersistenceEnabled(true); 多个用户可以同时增加“喜欢”字段。在离线模式下,我如何将提交的喜好增加1?如果我得

我有一个简单的结构:

{
    "items": {
        "item1": {
            "likes": 4
        },
        "item2": {
            "likes": 5
        }
    }
}
我启用脱机模式:

Firebase.getDefaultConfig().setPersistenceEnabled(true);
多个用户可以同时增加“喜欢”字段。在离线模式下,我如何将提交的喜好增加1?如果我得到的是likes值,而不是将其设置为增加的值,那么当设备到达服务器但之前的其他用户增加了相同的likes字段时会发生什么?它会使价值过度膨胀吗

我可以想象我的数据结构不是很好,因为我是NoSQL新手。我可以将Firebase用户ID添加到likes字段中,而不是计数器整数,并汇总它们以获得结果。但这意味着有很多不必要的数据,因为我不需要知道谁喜欢,我只需要喜欢的数量


请帮我找出最好的解决方案!谢谢大家!

使用必须使用事务来确保一个位置的多个写入程序不会覆盖彼此的值。交易仅在联机时有效。如果多个写入程序都处于脱机状态,则无法确保它们保持同步@非常感谢你!这就是我需要的!