Предположим, что я собираю имя пользователя, и я хочу проверить, существует ли это имя пользователя в моей базе данных Firebase. Методы AngularFire2 update
или set
на самом деле не проверяют, существует ли объект, но заменяет его, если это так. Есть ли способ проверить это и сказать, чтобы вернуть наблюдаемую ошибку?AngularFire2 - проверить, существует ли объект до обновления
В настоящее время мое решение заключается в том, чтобы получить объект, и если есть результаты, я знаю, что он существует. Я ищу более простой способ проверить это.
Мне нужно сделать это как объект базы данных, а не фактический пользователь в аутентификации.
let userExists = false;
this.af.database.object('/users/' + newUser.name).subscribe(user => {
if (user) {
userExists = true;
console.log('This username is taken. Try another one');
}
else {
this._af.database.object('/users/' + newUser.name).update({
email: '[email protected]',
password: '[email protected]#$1234'
})
}
});
Спасибо! @adriancarriger. Оно работает!!. Я добавил некоторые дополнительные детали в реализацию. –
Удивительный, рад, что это помогло! – adriancarriger
Приведенный выше код работает для добавления нового объекта. Но попробуйте использовать его также для удаления с помощью 'currentValue.remove()', но получение currentValue.remove не является функцией. Как я могу удалить? – alltej