Додавши нижче те, що працювало для мене, використовуючи посилання в Firestore.
Як говорять інші відповіді, це як закордонний ключ. Атрибут посилання не повертає даних довідкового документа. Наприклад, у мене є список продуктів, в якому один із атрибутів продукту є посиланням на userRef. Отримавши перелік продуктів, дає мені інформацію про користувача, який створив цей продукт. Але це не дає мені реквізитів користувача в цій довідці. Я використовував інший бек-енд як сервіси з покажчиками до цього, має прапор "populate: true", який повертає інформацію про користувача, а не просто ідентифікаційний номер користувача, який би тут було чудово (сподіваємось, майбутнє вдосконалення) ).
Нижче наведено приклад коду, який я використовував для встановлення посилання, а також для отримання колекції списку продуктів, а потім отримайте реквізити користувачів із вказаного ідентифікатора користувача.
Встановлення посилання на колекцію:
let data = {
name: 'productName',
size: 'medium',
userRef: db.doc('users/' + firebase.auth().currentUser.uid)
};
db.collection('products').add(data);
Отримайте колекцію (продукти) та всі посилання на кожен документ (реквізити користувача):
db.collection('products').get()
.then(res => {
vm.mainListItems = [];
res.forEach(doc => {
let newItem = doc.data();
newItem.id = doc.id;
if (newItem.userRef) {
newItem.userRef.get()
.then(res => {
newItem.userData = res.data()
vm.mainListItems.push(newItem);
})
.catch(err => console.error(err));
} else {
vm.mainListItems.push(newItem);
}
});
})
.catch(err => { console.error(err) });
Сподіваюся, це допомагає