我一直在尝试为数据库创建一些查询,但是没有成功。这是第一次在Firebase中处理查询并感到有些困惑。
我使用实时数据库
我的数据库如下:
-> users
->profile
->uid1
->email : "some@email.com"
->name : "some_name"
->favourite
->id1
->title : "some_title"
->date : "some_date"
->id : "id1"
->id2
->title : "some_title"
->date : "some_date"
->id : "id2"
->uid2
->email : "some@email.com"
->name : "some_name"
->favourite
->id1
->title : "some_title"
->date : "some_date"
->id : "id1"
->id2
->title : "some_title"
->date : "some_date"
->id : "id2"
我一直在尝试的查询:
有什么想法如何执行这些查询吗?
答案 0 :(得分:0)
取决于您使用的是实时数据库还是Firestore。但是因为您想查询,所以我建议使用Firestore,您可以通过以下方式实现它:
// Create a path where you want the query to search
let storageReference = Firestore.firestore().collection("users/profile")
let query = storageReference.whereField("uid", isEqualTo: givenUID )
query.getDocuments { (snapshot, error) in
if let snapshot = snapshot {
for document in snapshot.documents {
let data = document.data()
}
}
}
在实时数据库中,您不能使用查询,但是可以像这样实现查询并查看文档是否可用:
let databaseRef = Database.database().reference(withPath: "users/profile/givenUID")
databaseRef.observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.exists() {
// UID is in the database
} else {
// UID not found
}
})
然后按照收藏夹的参考进行操作!