Swift 类似Firebase的按钮和计数器

Swift 类似Firebase的按钮和计数器,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,在这样的Firebase结构中: Pictures -pictureID -- name -- date Like -pictureID -- userID: true -- userID: true likePerUser -userID --pictureID: true --pictureID: true Users -userID -- name -- lastname 我已经实现了一个like系统,用户可以在其中喜欢图像。(迅捷3) 通过这样做,我可以获得喜欢特定图片的用户数:

在这样的Firebase结构中:

Pictures
-pictureID
-- name
-- date

Like
-pictureID
-- userID: true
-- userID: true

likePerUser
-userID
--pictureID: true
--pictureID: true

Users
-userID
-- name
-- lastname
我已经实现了一个like系统,用户可以在其中喜欢图像。(迅捷3)

通过这样做,我可以获得喜欢特定图片的用户数:

ref.child("Like").child(pictureID!).observeSingleEvent(of: .value, with: { (snapshot) in

            print(snapshot.childrenCount)

        })
我怎样才能找到一个用户(我知道他的用户ID)是否喜欢一张图片(我也知道它是pictureID)

所以我编辑了结构和代码,现在我需要检查在像PerUser这样的节点下,在child currentUser下是否有一个等于true的pictureId 但是这个代码不起作用

ref.child("likePerUser").child(FIRAuth.auth()!.currentUser!.u‌​‌​id).queryOrdered(b‌​yC‌​hild: pictureId).queryEqual(toValue: true).observe(FIRDataEventType.value, with:{(snap)in 

在NoSQL中,您经常为应用程序所需的用例建模数据。因此,如果您的应用程序有一个用例,您想知道用户喜欢哪些图片,请存储每个用户喜欢的图片列表:

LikesPerUser
- userID
-- pictureID: true
-- pictureID: true
有了这个(附加的)结构,查找用户喜好就如同在当前结构中查找图片喜好一样简单

要想很好地介绍这个主题,请阅读并观看