Я получаю наблюдаемый массив контактов. Каждый контакт является пользователем. Профиль пользователя также является наблюдаемым объектом. Я пытаюсь заменить contactId (который на самом деле является uid) в каждом массиве контактов на профиль пользователя.
Если у пользователя bdb
есть список контактов adb
и rgb
.
Тогда контакты bdb
будут: users/bdb/contacts
, и я получу
{
rgb: { group: 'false', 'status': 'online', uid: 'rgb' },
adb: { group: 'false', 'status': 'offline', uid: 'adb' }
}
Профиль первого контакта: users/rgb
, который также является наблюдаемым.
Я хочу заменить uid
в наблюдаемом массиве данными из наблюдаемого профиля, чтобы я получил:
{
rgb: { group: 'false', 'status': 'online', profile: { uid: 'rgb', displayName: 'rajan', photoURL: '' } },
adb: { ... }
}
Я попробовал такие операторы, как switchMap и объединить последние примеры, предоставленные Джеффом на angularfirebase.com. Но действительно не смогли этого сделать.
Итак, я пытаюсь заменить строку в массиве Observable наблюдаемым объектом (профилем). Я делаю это в ионном проекте с Firebase в качестве бэк-энда.
Действительно нужно какое-то направление, чтобы продолжить.