0
我想列出的AngularFire2應用用戶的對話,這strucutre如下:AngularFire2 - 加入會員和用戶
聊天
"chat1": {
title: "First chat",
lastMessage: "Hello world",
members: {
"user1": true,
"user2": true,
}
}
用戶
"user1": {
name: "Ben",
surname: "Bennsay"
}
"user2": {...}
我想以一種方式映射和列出聊天記錄,我可以輕鬆地在最後一條消息的下面顯示聊天參與者名稱。
問題1:這個例子與官方的建議略有不同,但我覺得它仍然是有效的和可擴展的。我對嗎 ?
問題2:如何真正加入成員和用戶在我的聊天列表中有一個users
數組?
這是我到目前爲止。
// retrieve chats "user1" participates in
this.afChatsRef = this.af.database.list(this.datastore(), {
query: {
orderByChild: "/members/user1", // by user id in members
equalTo: true,
}
}).map(chats => {
chats.map(chat => {
// HMMM? WHAT TO DO HERE ?
});
return chats;
});
謝謝,提前。
更新我也試過以下,這似乎不太正確(我不能訪問用戶屬性)。
this.af.database.list(this.datastore()).map(chats => {
chats.map(chat => {
// chat.users = [];
for (var key in chat.members) {
this.af.database.object("https://stackoverflow.com/users/" + key).subscribe(user => {
chat.members[key] = user;
});
}
return chat;
});
console.log(chats);
return chats;
});