【发布时间】:2016-06-25 22:40:17
【问题描述】:
我在我的应用程序中使用以下数据结构:
var users = {
"tom": { conversations: ["fake-uuid-v4"] },
"bob": { conversations: ["fake-uuid-v4"] }
};
var conversations = {
"fake-uuid-v4": {
user_one: "tom",
user_two: "bob"
}
}
每个用户都有一个映射到会话的键集合,其中包含会话数据,例如发送的最后一条消息、用户是否正在键入等。问题是我很难查找对话。
这是我尝试过的,但没有产生任何结果。 (注意:我现在在我的 firebase 应用程序中有这些确切的数据,所以这在技术上是一个可运行的示例)
var conversation_id = 'fake-uuid-v4';
firebase.database().ref('/conversations')
.startAt(conversation_id)
.endAt(conversation_id)
.on('child_added', function(snapshot, prevKey) {
if(snapshot.val()) console.log(snapshot);
});
但是,如果我将代码更改为
,它不会从数据库中提取任何内容firebase.database().ref('/conversations/'+conversation_id).on('child_added', function(snapshot, prevKey) {
});
然后它打印出添加的对话的每个键/值,在这种情况下:
tom
bob
如何使用存储在用户对话数组中的密钥监控所有对话?
【问题讨论】:
-
我不太明白这个问题。您是否在循环访问用户的对话 ID 和加载每个对话时遇到问题?
标签: javascript firebase firebase-realtime-database