要在AngularFire2中创建一个文档并设置一个映射数组,首先需要安装AngularFire2库。
npm install firebase @angular/fire --save
app.module.ts
文件中,导入要使用的模块并将其添加到imports
数组中。例如:import { AngularFireModule } from '@angular/fire';
import { AngularFirestoreModule } from '@angular/fire/firestore';
// ...
@NgModule({
// ...
imports: [
// ...
AngularFireModule.initializeApp(environment.firebaseConfig),
AngularFirestoreModule
],
// ...
})
export class AppModule { }
import { Component } from '@angular/core';
import { AngularFirestore, AngularFirestoreCollection } from '@angular/fire/firestore';
import { Observable } from 'rxjs';
// ...
@Component({
// ...
})
export class YourComponent {
itemsCollection: AngularFirestoreCollection;
items: Observable;
constructor(private afs: AngularFirestore) {
this.itemsCollection = afs.collection('items');
this.items = this.itemsCollection.valueChanges();
}
createDocument() {
const item = {
name: 'Item 1',
description: 'This is item 1'
};
this.itemsCollection.add(item)
.then(docRef => {
const newItem: any = item;
newItem.id = docRef.id;
this.itemsCollection.doc(docRef.id).set(newItem);
})
.catch(error => console.error("Error adding document: ", error));
}
}
在上面的代码中,我们首先创建了一个AngularFirestoreCollection来表示我们要操作的集合。然后,我们使用valueChanges()方法来获取集合的值的Observable。在createDocument()方法中,我们创建了一个新的项目对象,并使用add()方法将其添加到集合中。然后,我们使用doc()方法获取新文档的引用,并使用set()方法将映射数组设置为刚才创建的对象。
注意:上述代码中的'items'
是集合的名称。请根据您的实际需求更改它。
希望这可以帮助到您!