gpt4 book ai didi

ios - Firebase Swift - 如何创建一个 child 并将其 id 添加到另一个 ref 属性?

转载 作者:搜寻专家 更新时间:2023-10-30 22:02:38 25 4
gpt4 key购买 nike

如所述here ,我想将 Book 对象存储在单独的 ref 中,并将其 id 值存储在 User

books 属性中
Users:
user_id:121jhg12h12
email: "john@doe.com"
name: "John Doe"
profile_pic_path: "https://...".
language: "en"
exp_points: 1284
friends: [user_id]
books: [[book_id, status, current_page, start_date, finish_date]]
badges: [[badge_id, get_date]]

Books:
book_id: 3213jhg21
title: "For whom the bell tolls"
author: "Ernest Hemingway"
language: "en"
pages_count: 690
ISBN: "21hjg1"
year: 2007

每当我在应用程序中添加一本书时

self.ref!.child("Books").childByAutoId().setValue(["title": arrayOfNames[0] as! NSString, "author": arrayOfNames[1] as! NSString , "pages_count":arrayOfNames[2] as! NSString])

图书对象是在 Books ref 中创建的,但我想立即将其 id 添加到用户的用户图书数组中。

是否可以通过一些巧妙的方式来完成,而不是查询书籍,而是检索其 ID 并将其添加到数组中?

如果不是,查询刚刚创建的对象id的正确方法是什么?

也许我不应该使用 AutoId 模式并在应用程序中自己为每个对象创建唯一的 Id?

最佳答案

可以这样获取childByAutoId创建的key:

let newBookRef = self.ref!
.child("Books")
.childByAutoId()

let newBookId = newBookRef.key

let newBookData = [
"book_id": newBookId,
"title": arrayOfNames[0] as! NSString,
"author": arrayOfNames[1] as! NSString,
"pages_count":arrayOfNames[2] as! NSString
]

newBookRef.setValue(newBookData)

关于ios - Firebase Swift - 如何创建一个 child 并将其 id 添加到另一个 ref 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39691818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com