Angular 从cloud firestore获取自动生成的id
我从CloudFireStore中获取了角度组件中的数据,如下面的代码所示 服务文件Angular 从cloud firestore获取自动生成的id,angular,Angular,我从CloudFireStore中获取了角度组件中的数据,如下面的代码所示 服务文件 import { Injectable } from '@angular/core'; import {AngularFirestoreDocument,AngularFirestore,AngularFirestoreCollection} from 'angularfire2/firestore'; import { Observable } from 'rxjs'; @Injectable({
import { Injectable } from '@angular/core';
import
{AngularFirestoreDocument,AngularFirestore,AngularFirestoreCollection}
from 'angularfire2/firestore';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class ItemsService {
itemscollection:AngularFirestoreCollection<any>
items:Observable<any[]>
constructor(public afs:AngularFirestore,db:AngularFirestore) {
}
getitems(){
return
this.items=this.afs.collection('categories',ref=>ref.orderBy('name'))
.valueChanges()
}
}
然后我将其呈现到html组件中
但我的问题是如何从数据库中检索所有自动生成的id,如下面的屏幕截图所示
使用snapshotChanges()代替valueChanges()。它看起来像这样
导出常量mapFireBaseListResponse=(列表:AngularFireList)=>
使用snapshotChanges()代替valueChanges()。它看起来像这样
导出常量mapFireBaseListResponse=(列表:AngularFireList)=>
export class AdminNewComponent implements OnInit {
@ViewChild('f') form:NgForm
categories
default="Bread"
constructor(public iservice:ItemsService,private
prservice:ProductsService,private router:Router,private
route:ActivatedRoute) { }
ngOnInit() {
this.iservice.getitems().subscribe(items=>{
this.categories=items
// console.log(this.categories)
})
}
list.snapshotChanges().pipe(
map(items =>
items.map(item => ({
key: item.payload.key,
...item.payload.val()
})
)
)
);