Angular 云Firestore获取离子3中的文档计数
因为云Firestore是测试版。谷歌提供的信息较少。 我只是想知道,我们如何才能获得特定集合中存在的文档总数。我们可以通过foreach循环来实现这一点,但这不是我认为的好方法。我尝试了Angular 云Firestore获取离子3中的文档计数,angular,firebase,ionic3,angularfire2,google-cloud-firestore,Angular,Firebase,Ionic3,Angularfire2,Google Cloud Firestore,因为云Firestore是测试版。谷歌提供的信息较少。 我只是想知道,我们如何才能获得特定集合中存在的文档总数。我们可以通过foreach循环来实现这一点,但这不是我认为的好方法。我尝试了length函数,但它不起作用 import {AngularFirestore} from 'angularfire2/firestore'; ........ constructor(private afs:AngularFirestore) { console.log(this.afs.c
length
函数,但它不起作用
import {AngularFirestore} from 'angularfire2/firestore';
........
constructor(private afs:AngularFirestore) {
console.log(this.afs.collection(`/cart`).length); //undefined
let ref = this.afs.collection('/cart').valueChanges();
ref.forEach(element => {
console.log(element.length); // total 4 (works fine)
});
}
您可以按如下所示进行操作 使用Javascript API
db.collection(`/cart`).get().then((querySnapshot)=> {
console.log(querySnapshot.size);
});
角火2:
let count = this.afs.collection(`/cart`).snapshotChanges().map(c => {
return c.length;
});
试着这样做:
进口
import { AngularFirestore, AngularFirestoreCollection } from 'angularfire2/firestore';
阶级
cartCollection:AngularFirestoreCollection//Firestore系列
建造商(私人afs:AngularFirestore){
this.cartCollection=this.afs.collection('cart');
此.cartCollection.snapshotChanges().map(数据=>{
console.log(data.length);
});
}
角火2
let count = this.afs
.collection(`/cart`)
.snapshotChanges()
.subscribe(c => {
return c.length;
});
谢谢你的快速回复。现在,当我运行上述代码时,它会给我错误
this.afs.collection(…).get不是一个函数
。我正在为我的项目使用angularfire2
。这也不起作用。看起来该函数没有进入.map()的内部代码>。count正在返回一个对象集。代码未达到c.长度
。同上。它没有进入控制台.log中。
let count = this.afs
.collection(`/cart`)
.snapshotChanges()
.subscribe(c => {
return c.length;
});