gpt4 book ai didi

ios - 查询 1 :1 private rooms efficiently with Firebase

转载 作者:行者123 更新时间:2023-11-28 12:47:13 25 4
gpt4 key购买 nike

我正在使用 Firebase 并尝试建立一对一的对话。对于房间,我使用了这样的结构:

- rooms
- "user1_user2" // roomName
- timestampedId1
- message: "hello"
- sender: "user2"
- timestampedId2
- message: "hey"
- sender: "user1"

- "user2_user3"
- timestampedId3
- message: "Mew"
- sender: "user3"

对于房间名称,我使用了(我从 answer 得到的):

let roomName = (from<to ? from+"_"+to : to+"_"+from)

但是,现在我正在尝试检索,但我感到困惑。使用 Firebase,创建私有(private)房间并检索它们的正确结构是什么?

我应该在“roomName”节点中单独存储“from”和“to”吗?但如果是这样,那么我如何比较它们并将它们列为降序时间戳(从新到旧)?我认为应该有一种方法可以通过一个请求来完成。但是我该如何使用这种“roomName”方法呢?或者有没有其他更好的方法来实现它?

let roomRef = Firebase(url: self.url + "/rooms")

// some query?
.observeEventOfType(.Value, withBlock: { details in

})

处理这种情况的正确方法是什么?我应该完全改变结构还是有办法正确查询它?

最佳答案

我会按如下方式构建它并具有三个节点:roommembers、chat 和 lastmessages:

roommembers
user1iduser2id
user1id: true
user2id: true

chat
user1iduser2id
-KIyPwdDfAA6GxMlwLJB
message
userid
etc
(-KIyPwdDfAA6GxMlwLJB is a childByAutoId() which is also your timestamp)

lastmessages
user1id
user1iduser2id
lastmessage
lastuser
etc.
user2id
user1iduser2id
lastmessage
lastuser
etc.

关于ios - 查询 1 :1 private rooms efficiently with Firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37672614/

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