问题描述:
我在使用Angular和Firestore时遇到了一个问题。我尝试将一个文档添加到集合中,但是它似乎没有起作用。以下是我的代码示例:
import { Component, OnInit } from '@angular/core';
import { AngularFirestore } from '@angular/fire/firestore';
@Component({
selector: 'app-example',
templateUrl: './example.component.html',
styleUrls: ['./example.component.css']
})
export class ExampleComponent implements OnInit {
constructor(private firestore: AngularFirestore) { }
ngOnInit() {
}
addToCollection() {
const data = {
name: 'John',
age: 25
};
this.firestore.collection('users').add(data)
.then(() => {
console.log('Document added successfully');
})
.catch((error) => {
console.error('Error adding document: ', error);
});
}
}
解决方法:
app.module.ts
中正确配置了AngularFirestore模块。你可以通过导入AngularFirestoreModule
和在imports
数组中添加它来完成。import { AngularFireModule } from '@angular/fire';
import { AngularFirestoreModule } from '@angular/fire/firestore';
@NgModule({
imports: [
AngularFireModule.initializeApp(environment.firebaseConfig),
AngularFirestoreModule
],
// ...
})
export class AppModule { }
确保你的Firestore集合名称正确。在上述示例中,我们使用了users
作为集合名称。如果集合名称不正确,文档将无法添加到集合中。你可以在Firestore控制台中检查集合名称是否正确。
确保你的Firestore规则允许添加文档到集合中。默认情况下,Firestore规则会限制对集合的写入访问权限。你可以在Firestore控制台中的“规则”选项卡中检查和更改规则。
这些解决方法应该可以解决你遇到的问题。如果问题仍然存在,请确保你的Firestore配置正确,并检查浏览器的开发者工具中是否有任何错误消息。