在Firebase中,push和childByAutoId之间有什么区别

7ha*_*ker 5 firebase firebase-realtime-database

在Firebase中,如果我想创建一个具有唯一ID的子节点,我会看到两个选项:

推() :

使用push()方法将数据附加到多用户应用程序中的列表.每次将新子项添加到指定的Firebase引用时,push()方法都会生成唯一ID.通过为列表中的每个新元素使用这些自动生成的密钥,多个客户端可以同时将子项添加到同一位置而不会发生写入冲突.push()生成的唯一ID基于时间戳,因此列表项按时间顺序自动排序.

childByAutoId:

childByAutoId使用唯一键生成新的子位置,并向其返回FIRDatabaseReference.当Firebase数据库位置的子项代表项目列表时,这非常有用.childByAutoId:生成的唯一密钥以客户端生成的时间戳为前缀,以便生成的列表按时间顺序排序.

有什么不同?

7ha*_*ker 6

没关系,看起来它们是相同的,除了它们迎合不同的平台:

在IOS上保存数据

childByAutoId :添加到数据列表.每次调用childByAutoId时,Firebase都会生成一个唯一的ID,例如user-posts/<user-id>/<unique-post-id>.

在Web上保存数据

push() :添加到数据列表.每次拨打电话时push(),Firebase都会生成一个唯一的ID,例如user-posts/<user-id>/<unique-post-id>.