Я пытаюсь добавить идентификаторы в свою коллекцию пользователей для контроля доступа в Firestore, используя Angular Fire 2.
grantCompanyAccess (user, companyId) {
try {
const userAccess: AngularFirestoreDocument<any> = this.afs.doc(`users/${user.uid}`);
return userAccess.set({companies: [companyId]});
} catch (error) {
console.log(error);
}
}
removeCompanyAccess (user, companyId) {
try {
const userAccess: AngularFirestoreDocument<any> = this.afs.doc(`users/${user.uid}`);
const userData = {
companies: [{companyId}]
};
// return userAccess.collection('companies').doc(companyId).delete();
return userAccess.collection('companies').doc(companyId).delete();
} catch (error) {
console.log(error);
}
}
В настоящее время метод предоставления заменяет идентификатор в массиве. Как добавить в массив, если значение не существует ({merge: true} не работает), и удалить из массива методом remove.