博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[AngularFire2 & Firestore] Example for collection and doc
阅读量:5050 次
发布时间:2019-06-12

本文共 1749 字,大约阅读时间需要 5 分钟。

import {Injectable} from '@angular/core';import {Skill} from '../models/skills';import {AuthService} from '../../auth/services/auth.service';import 'rxjs/add/operator/do';import 'rxjs/add/operator/startWith';import 'rxjs/add/operator/catch';import {Observable} from 'rxjs/Observable';import {AngularFirestore, AngularFirestoreCollection} from 'angularfire2/firestore';@Injectable()export class SkillsService {  skillCollection: AngularFirestoreCollection
; skills: Observable
; events: Observable
; constructor(private afs: AngularFirestore, private authService: AuthService) { this.skillCollection = afs.collection(`users/${this.uid}/skills`, ref => ref.orderBy('name').limit(10)); this.events = this.skillCollection.auditTrail(); } get uid() { return this.authService.user.uid; } getSkills(): Observable
{ return this.skillCollection .snapshotChanges() .startWith([]) // To solve the snapshotChange doesn't fire for empty data .map((actions) => actions.map(({payload}) => ({id: payload.doc.id, ...payload.doc.data()} as Skill)) ); } getSkill(key): Observable
{ return this.afs.doc(`users/${this.uid}/skills/${key}`) .snapshotChanges() .map(({payload}) => ({id: payload.id, ...payload.data()} as Skill)); } addSkill(skill: Skill) { return this.skillCollection.add(skill); } updateSkill(key: string, skill: Partial
) { return this.afs.doc
(`users/${this.uid}/skills/${key}`).update(skill); } removeSkill(key: string) { return this.afs.doc
(`users/${this.uid}/skills/${key}`).delete(); }}

 

转载于:https://www.cnblogs.com/Answer1215/p/7770409.html

你可能感兴趣的文章
oracle数据类型
查看>>
socket
查看>>
Vue中使用key的作用
查看>>
二叉索引树 树状数组
查看>>
日志框架--(一)基础篇
查看>>
Java设计模式之原型模式
查看>>
Spring学习(四)-----Spring Bean引用同xml和不同xml bean的例子
查看>>
哲理故事与管理之道(20)-用危机激励下属
查看>>
关于源程序到可运行程序的过程
查看>>
wepy的使用
查看>>
转载:mysql数据库密码忘记找回方法
查看>>
scratch少儿编程第一季——06、人在江湖混,没有背景怎么行。
查看>>
面向对象1
查看>>
在ns2.35中添加myevalvid框架
查看>>
【贪心+DFS】D. Field expansion
查看>>
为什么要使用href=”javascript:void(0);”
查看>>
二进制文件的查看和编辑
查看>>
C# Async与Await的使用
查看>>
Mysql性能调优
查看>>
iOS基础-UIKit框架-多控制器管理-实例:qq界面框架
查看>>