由于Cloud Firestore处于测试版。 Google提供的信息较少。
我只想知道如何才能获得特定集合中存在的文档总数。我们可以通过foreach循环来做到这一点,但这不是我认为的好方法。我尝试了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)
});
}
答案 0 :(得分:1)
您可以按照以下所示进行操作。
使用 Javascript API
db.collection(`/cart`).get().then((querySnapshot)=> {
console.log(querySnapshot.size);
});
<强> Angularfire2:强>
let count = this.afs.collection(`/cart`).snapshotChanges().map(c => {
return c.length;
});
答案 1 :(得分:0)
尝试这种方式:
IMPORT
import { AngularFirestore, AngularFirestoreCollection } from 'angularfire2/firestore';
CLASS
cartCollection: AngularFirestoreCollection<any>; //Firestore collection
constructor(private afs:AngularFirestore) {
this.cartCollection = this.afs.collection('cart');
this.cartCollection.snapshotChanges().map(data => {
console.log(data.length);
});
}
答案 2 :(得分:0)
Angularfire2
let count = this.afs
.collection(`/cart`)
.snapshotChanges()
.subscribe(c => {
return c.length;
});