Я делаю это во Flutter, с базой данных Firebase, используя пакеты Firestore во Flutter. Я хотел бы знать, как выполняется соединение в noSQL (или, более конкретно, во Flutter-Firestore)
Вот как выглядит моя база данных:
users: {
U1: {
name: 'Peter',
surname: 'Jensen'
},
U2: {
name: 'Marry',
surname: 'Kown'
},
...
}
groups: {
G1: {
name: 'Group 1'
},
G2: {
name: 'Group 2'
},
...
}
members: {
M1: {
userId: U1,
groupId: G1
},
M2: {
userId: U1,
groupId: G2
},
M3: {
userId: U2,
groupId: G1
},
...
}
Теперь, как мне сделать объединение, чтобы получить что-то вроде этого:
members: {
M1: {
userId: {
name: 'Peter',
surname: 'Jensen'
},
groupId: {
name: 'Group 1'
}
},
M2: {
userId: {
name: 'Peter',
surname: 'Jensen'
},
groupId: {
name: 'Group 2'
}
},
M3: {
userId: {
name: 'Marry',
surname: 'Kown'
},
groupId: {
name: 'Group 1'
}
},
...
}
Должен ли я сделать:
const users = await Firestore.instance.collection('users').getDocuments();
const groups = await Firestore.instance.collection('groups').getDocuments();
const members = await Firestore.instance.collection('members').getDocuments();
...manually loop through everything and assign everything myself
(мне нужно добавить больше текста, потому что у меня «в основном код»): я предположил бы, что выше будет использовать много данных запросов в Firebase, поэтому я не понимаю, как это было бы хорошей идеей. На самом деле я просто хочу видеть в каких группах пользователь a в