Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Firebase-如何为现有数据库中的每一行添加新字段?_Ios_Swift_Firebase_Firebase Realtime Database - Fatal编程技术网

Ios Firebase-如何为现有数据库中的每一行添加新字段?

Ios Firebase-如何为现有数据库中的每一行添加新字段?,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我正在使用实时Firebase数据库。假设我已经有一百万个用户,每个用户都有电子邮件、密码等字段 如果我突然想为数据库中的每个用户添加一个新字段,该怎么办?就像我希望每个用户都有一个名为age的字段一样 我知道我可以在Firebase中手动执行此操作,但在处理大型复杂数据库时不太实际为什么不使用Firebase创建一个方法。更新并运行所有文档 类似:(这是使用Firebase firestore) 或者,如果希望使其成为服务器端,也可以使用。发布一些代码,这样我们就可以看到如何帮助您。是的,但我

我正在使用实时Firebase数据库。假设我已经有一百万个用户,每个用户都有电子邮件、密码等字段

如果我突然想为数据库中的每个用户添加一个新字段,该怎么办?就像我希望每个用户都有一个名为age的字段一样


我知道我可以在Firebase中手动执行此操作,但在处理大型复杂数据库时不太实际

为什么不使用Firebase创建一个方法。更新并运行所有文档

类似:(这是使用Firebase firestore)


或者,如果希望使其成为服务器端,也可以使用。发布一些代码,这样我们就可以看到如何帮助您。

是的,但我需要在运行后删除这段代码,对吗?因为它完成了任务,不再需要了,对吗?是的,只运行一次如果你以后需要添加其他属性,也可以发表评论。虽然有一个公认的答案,但我不确定这是正确的答案。Firebase数据库没有字段-唯一的键:值对,并且与SQL不同,没有预定义的字段或列。子键:动态添加值(字段)。一般来说,FB也不允许nil/空值,因此永远不会写入不带值(nil)的年龄子字段。唯一的选择是向年龄键写入一个0值,但这只是额外的数据,因为没有人是0。更好的做法是在从用户处获取数据时写入数据。如果您真的想写入一组年龄为0的键:值对,则公认的答案假设为firestore,但实际上,这在Firebase中是一项非常简单的任务。只需观察添加了.childAdded的用户节点,在读入快照时,将年龄:0写入该节点键。尽管如此,还是在实际拥有数据时编写数据可能更好;去年只有5000个用户实际登录,为什么还要向用户节点写入一百万个0。
updateUser() {
        this.db.collection('yourDbCollection').doc('ifYourIdCostumized').update({
            age: newAgeHere
        })
            .then(function () {
                console.log("Document successfully updated!");
            }).catch(function (error) {
                console.error("Error removing document: ", error);

            });
    }