本文整理汇总了TypeScript中angularfire2/firestore.AngularFirestore类的典型用法代码示例。如果您正苦于以下问题:TypeScript AngularFirestore类的具体用法?TypeScript AngularFirestore怎么用?TypeScript AngularFirestore使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了AngularFirestore类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getTodayPayments
getTodayPayments(email: string, isAdmin: boolean): Observable < Payment[] > {
let today = new Date();
today.setHours(0,0,0,0);
if(isAdmin){
this.paymentsCollection = this.afs.collection('payments', ref =>
ref.orderBy("timeReceived", "desc").
where('timeReceived', ">", today));
}
else{
this.paymentsCollection = this.afs.collection('payments', ref =>
ref.orderBy("timeReceived", "desc").
where("customerEmail", "==", email).
where('timeReceived', ">", today));
}
this.payments = this.paymentsCollection.snapshotChanges().map(changes => {
return changes.map(action => {
const data = action.payload.doc.data() as Payment;
data.id = action.payload.doc.id;
return data;
});
});
return this.payments;
}
示例2: getPaymentsInRange
getPaymentsInRange(email: string, isAdmin: boolean, fromDate: Date, toDate:Date): Observable < Payment[] > {
var newFromDate = new Date(fromDate);
var newToDate = new Date(toDate);
newFromDate.setHours(0,0,0,0);
newToDate.setDate(toDate.getDate()+1);
newToDate.setHours(0,0,0,0);
if(isAdmin){
this.paymentsCollection = this.afs.collection('payments', ref =>
ref.orderBy("date", "desc").
where('date', ">", newFromDate).
where('date', "<", newToDate));
}
else{
this.paymentsCollection = this.afs.collection('payments', ref =>
ref.orderBy("date", "desc").
where("customerEmail", "==", email).
where('date', ">", newFromDate).
where('date', "<", newToDate));
}
this.payments = this.paymentsCollection.snapshotChanges().map(changes => {
return changes.map(action => {
const data = action.payload.doc.data() as Payment;
data.id = action.payload.doc.id;
return data;
});
});
return this.payments;
}
示例3: Player
.snapshotChanges().take(1).subscribe((snap) => {
// roomsCollection.snapshotChanges().take(1).subscribe((snap) => {
const player = new Player();
player.name = this.authService.name.replace(/\s/g, '');
for (const snapshotItem of snap) {
const roomId = snapshotItem.payload.doc.id;
const roomy = snapshotItem.payload.doc.data() as Room;
if (roomy.players.length === 1) {
roomy.players.push(player);
this.db.doc('rooms/' + roomId).update(JSON.parse(JSON.stringify(roomy)));
this.router.navigate(['gamewcs', roomId, player.name]);
return;
}
}
const room = new Room();
room.turn = 0;
room.players = [player];
room.answers = [];
room.players[0].img = '';
room.players[0].url = undefined;
this.db.collection('rooms')
.add(JSON.parse(JSON.stringify(room)))
.then((doc) => {
this.router.navigate(['gamewcs', doc.id, player.name]);
});
});
示例4: addOrderPrice
addOrderPrice(t: any) {
let id = this.db.createId();
let pastOrder = new PastOrder();
pastOrder.id = "past-order/" + id
pastOrder.orders[t.detail] = parseFloat(parseFloat(t.price + "").toFixed(2))
pastOrder.restaurant = t.description
this.db.collection<PastOrder>("past-order").doc(id).set(JSON.parse(JSON.stringify(pastOrder)));
}
示例5: getNextCourses
getNextCourses(campus: string, department:string) {
let courseCollection;
if (department == 'Any')
courseCollection = this.db.collection('courses',
ref => ref
.where('institution', '==', campus.toLowerCase())
.limit(200));
else
courseCollection = this.db.collection('courses',
ref => ref
.where('institution', '==', campus.toLowerCase())
.where('department','==', department)
.limit(200));
return courseCollection.valueChanges();
}
示例6: search
search(filters, lastItem = null): Observable<Comment[]> {
this.itemsCollection = this.af.collection<Comment>('comments',
ref => {
let query: Query = ref;
query = query.where('isPublished', '==', filters.isPublished);
query = query.where('channel', '==', filters.channel);
query = query.where('domain', '==', filters.domain);
query = query.orderBy('published', 'desc');
if (lastItem) {
query = query.startAfter(lastItem.doc);
}
query = query.limit(20);
return query;
}
);
this.items = this.itemsCollection.snapshotChanges().map(actions => {
return actions.map(a => {
const data = a.payload.doc.data() as Comment;
const id = a.payload.doc.id;
const doc = a.payload.doc;
return { id, ...data, doc};
});
});
return this.items;
}
示例7: addPrestation
addPrestation(item: Prestation): Promise<any> {
const id = this.afs.createId();
const prestation = { id, ...item };
return this.itemsCollection.doc(id).set(prestation).catch((e) => {
console.log(e);
});
}
示例8: getDepartments
getDepartments(campus: string): Observable<any[]> {
const departCollection = this.db.collection('departments',
ref => ref
.where('institution','==',campus.toLowerCase())
.orderBy('title'));
return departCollection.valueChanges();
}
示例9: sortCourses
sortCourses (sortBy: string): Observable<any[]> {
const col = this.db.collection('courses',
ref => ref
.orderBy(sortBy)
.limit(200));
return col.valueChanges();
}
示例10: switchMap
switchMap(user => {
if (user) {
return this.afs.doc<any>(`users/${user.uid}`).valueChanges();
} else {
return Observable.of(null);
}
})