【问题标题】:How i can add new item to the same node in Firebase我如何将新项目添加到 Firebase 中的同一节点
【发布时间】:2017-12-26 03:50:38
【问题描述】:

我想在我的列表中添加一个新项目,我使用没有用户(电子邮件、密码)的 firebase

我有搜索页面和其他显示详细信息的页面,我如何为同一个节点添加更多详细信息,而且我不知道您要将子节点添加到哪个节点。

我想添加这样的新项目:-

开始于:

-vdjs43ndjufd87

     "name" : Jak

    "university" : Harvard

结尾:

-vdjs43ndjufd87

     "name" : Jak

     "university" : Harvard

     "age" : 23

此代码不适用于我:-

 let key = ref.child("posts").childByAutoId().key

 let post = ["uid": userID, "author": username, "title": title, "body": body]

let childUpdates = ["/posts/(key)": post, "/user-posts/(userID)/(key)/": post]

ref.updateChildValues(childUpdates)

【问题讨论】:

    标签: ios swift firebase firebase-realtime-database


    【解决方案1】:

    您必须知道要在其中添加新项目的帖子的 ID。否则没有办法解决你的问题。例如,您有一个带有表格视图的页面,其中显示了帖子列表。此外,要填充表格的单元格,您还需要持有一系列帖子。每个 post 对象都应该有 id 属性。当您在表中选择行时,您应该获取它的 indexPath 并从具有 indexPath.row 索引的数组中获取帖子。从选定的帖子中,您将获得 id,仅此而已。现在您有了帖子 ID,您可以下载有关此帖子的信息,还可以使用此 ID 将一些新项目添加到节点。

    ref.child("posts").child(postId).updateChildValues(childUpdates)
    

    【讨论】:

    • 我有显示结果的搜索栏,当您选择名称时,将转到另一个(视图控制器)显示此名称的详细信息
    • 所以我可以在这个名字中添加像 cmets 这样的新项目吗?
    • 您可能会显示结果表视图,因此必须保存帖子对象数组。当您选择表格单元格时(当您选择名称时),您必须从数组中获取帖子 ID,当您知道帖子 ID 时,您可以添加新项目。没有身份证你不能。您不能只在数组中保存名称,您必须创建类 Post 并放入一些属性中,其中一个应该是 id。
    • 是的 在结果页面上您退出了您选择的名称的数据,如何将另一个评估添加到相同的ID?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    相关资源
    最近更新 更多