如何消除实时数据库Firebase抖动中的自动生成的密钥

时间:2020-07-31 20:00:18

标签: firebase flutter dart firebase-realtime-database

我想消除自动生成的ET子名称,这对我来说没有意义,因为我想更新分支中的特定项目,但由于自动生成的名称,我无法导航至该项目,无论如何这样做吗?

((对不起,如果您觉得很难理解我,因为我真的不知道它的正式名称,让我知道我应该分享什么代码)

谢谢!

tter

2 个答案:

答案 0 :(得分:1)

该自动生成的名称必须作为文档的标识符。但是,您可以使用任何所需的值,以使其对您更有用。 例如(如果您使用的是Firestore),则可以使用类似的内容(如果没有,语法可以不同,但​​想法是相同的。)

await Firestore.instance
            .collection("ET")
            .document("Any unique text")
            .setData({
              "role": "role",
              "cluster": "role",
              "email": "role",
              "name": "role"});

答案 1 :(得分:0)

如果您不希望节点具有随机ID,则不要使用push()。据记录,它始终使用随机ID,因此您将始终获得该ID。

如果您知道要添加的节点的名称,则只需使用对child()的名称链接调用来构建路径,然后使用set()在该位置写入数据。