Вы должны работать с db: AngularFireDatabase
, как вы это сделали в create(carID)
.Там вы сделали push
, для обновления вам нужно добавить update
вызов в список:
updateCarID(key: string, modelNum: any,
modelName: string,
regName: number,
driverName: string, modelColor: string,
carBrand: string ): Promise<void> {
return this.db.list(this.dbPath).update(key, value);
}
API для AngularFireList можно найти здесь .
Из API:
Добавление новых элементов:
const itemsRef = db.list('items');
itemsRef.push({ name: newName });
Замена элементов в списке с помощью set
:
const itemsRef = db.list('items');
// to get a key, check the Example app below
itemsRef.set('key-of-some-data', { size: newSize });
Обновление элементов в списке с помощью update
const itemsRef = db.list('items');
// to get a key, check the Example app below
itemsRef.update('key-of-some-data', { size: newSize });
Удаление элементов из списка:
const itemsRef = db.list('items');
// to get a key, check the Example app below
itemsRef.remove('key-of-some-data');
Удаление всего списка:
const itemsRef = db.list('items');
itemsRef.remove();
Полный пример Angular Firebase CRUD с использованием COLLECTIONS можно найти в этом учебнике .
Пример предназначен для пользователей.
Создание:
createUser(value, avatar){
return this.db.collection('users').add({
name: value.name,
nameToSearch: value.name.toLowerCase(),
surname: value.surname,
age: parseInt(value.age),
avatar: avatar
});
}
Чтение:
getPeople(){
return new Promise<any>((resolve, reject) => {
this.afs.collection('/people').snapshotChanges()
.subscribe(snapshots => {
resolve(snapshots)
})
})
}
Обновление:
updateUser(userKey, value){
value.nameToSearch = value.name.toLowerCase();
return this.db.collection('users').doc(userKey).set(value);
}
Удалить:
deleteUser(userKey){
return this.db.collection('users').doc(userKey).delete();
}