【发布时间】:2016-09-01 02:11:50
【问题描述】:
我有一个 Firebase 数据库结构问题。我的场景接近聊天应用程序。以下是具体内容
- users(node storing several users of the app)
- id1
name: John
- id2
name: Meg
- id2
name: Kelly
- messages(node storing messages between two users)
- message1
from: id1
to: id2
text: ''
- message2
from: id3
to: id1
text: ''
现在想象一下为单个用户构建对话视图。所以我想从那个特定用户那里获取所有消息 和那个特定的用户
我现在是这样写的:
let fromMessagesRef = firebase.database().ref('messages').orderByChild('from').equalTo(firebase.auth().currentUser.uid)
fromMessagesRef.once("value").then((snapshot) => {/* do something here*/})
let toMessagesRef = firebase.database().ref('messages').orderByChild('to').equalTo(firebase.auth().currentUser.uid)
toMessagesRef.once("value").then((snapshot) => {/* do something here*/})
问题:
- 这是对问题建模的正确方法吗?
- 如果是,有没有办法将上述两个查询结合起来?
【问题讨论】:
标签: javascript firebase firebase-realtime-database nosql