Я использую AngularFire , и в моем app.module.ts
:
imports: [
AngularFireModule.initializeApp(environment.firebase),
AngularFirestoreModule.enablePersistence()
]
включена постоянная поддержка автономной поддержки. При запуске приложения я получаю пользователя с помощью valueChanges()
например:
const doc: AngularFirestoreDocument<User> = this.myCollection.doc<User>(userId);
doc.valueChanges().pipe(take(1)).subscribe((user: User) => {
console.log(user);
}, (err) => {
console.err(err);
});
Мне странно, если я применяю изменения к базе данных из другого источника в качестве приложения, например, если я регистрируюсь в консоли Google Firestore и вручную изменяю значение впользовательские данные, эти данные не будут выбраны.
Если я перезапущу приложение, оно всегда будет извлекать локально сохраненные данные и никогда не заметит, что значения были изменены.
Если я удалюпостоянство, соответственно enablePersistence()
, данные выбираются правильно.
Знаете ли вы, в чем причина проблемы?
Не следует ли использовать valueChanges()
в таком случае?
Или это происходит потому, что я выбираю значение только один раз (см. take(1)
), и поэтому обновленное значение никогда не выбирается?
Заранее спасибо за помощь