本文整理汇总了TypeScript中angularfire2/firestore.AngularFirestore.doc方法的典型用法代码示例。如果您正苦于以下问题:TypeScript AngularFirestore.doc方法的具体用法?TypeScript AngularFirestore.doc怎么用?TypeScript AngularFirestore.doc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类angularfire2/firestore.AngularFirestore
的用法示例。
在下文中一共展示了AngularFirestore.doc方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: subscribe
subscribe(){
console.log("StateService stateSubscription subscribing");
this.stateSubscription = this.db.doc<StateFace>(environment.stateRef).valueChanges().subscribe((state)=>{
this.state = state;
this.isOrdering = state.allowOrders;
});
}
示例2: 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]);
});
});
示例3: switchMap
switchMap(user => {
if (user) {
return this.afs.doc<any>(`users/${user.uid}`).valueChanges();
} else {
return Observable.of(null);
}
})
示例4: updateOrderPrice
updateOrderPrice(t: any, pastOrder: any) {
var newData = pastOrder.orders
newData[t.detail] = parseFloat(parseFloat(t.price + "").toFixed(2))
let data = {
"orders": newData
}
this.db.doc(pastOrder.id).update(data);
}
示例5: getPromotion
getPromotion(id: String): Observable<Promotion> {
return this.afs.doc<Promotion>('promotions/'+ id).snapshotChanges()
.map(action => {
const data = action.payload.data() as Promotion;
const _id = action.payload.id;
return { _id, ...data };
});
}
示例6: getLeader
getLeader(id: string): Observable<Leader> {
return this.afs.doc<Leader>('leaders/'+ id).snapshotChanges()
.map(action => {
const data = action.payload.data() as Leader;
const _id = action.payload.id;
return { _id, ...data };
});
}
示例7: updateUserData
// Save custom user data in Firestore
private updateUserData(user: any) {
const userRef: AngularFirestoreDocument<any> = this.afs.doc(
`users/${user.uid}`
);
const data = {
uid: user.uid,
email: user.email || null,
displayName: user.displayName || new Chance().name({ prefix: true }),
photoURL: user.photoURL || "https://goo.gl/7kz9qG"
};
return userRef.set(data, { merge: true });
}
示例8: getInventoryItem
getInventoryItem(id: string): Observable<InventoryItem>{
this.inventoryItemDoc = this.afs.doc<InventoryItem>(`inventory_items/${id}`);
this.inventoryItem = this.inventoryItemDoc.snapshotChanges().map(action =>{
if(action.payload.exists === false){
return null;
}
else{
const data = action.payload.data() as InventoryItem;
data.id = action.payload.id;
return data;
}
});
return this.inventoryItem;
}
示例9: getPayment
getPayment(id: string): Observable < Payment > {
this.paymentDoc = this.afs.doc<Payment>(`payments/${id}`);
this.payment = this.paymentDoc.snapshotChanges().map(action => {
if (action.payload.exists === false) {
return null;
}
else {
const data = action.payload.data() as Payment;
data.id = action.payload.id;
return data;
}
});
return this.payment;
}
示例10: getCustomer
getCustomer(id: string): Observable<Customer>{
this.customerDoc = this.afs.doc<Customer>(`customers/${id}`);
this.customer = this.customerDoc.snapshotChanges().map(action =>{
if(action.payload.exists === false){
return null;
}
else{
const data = action.payload.data() as Customer;
data.id = action.payload.id;
return data;
}
});
return this.customer;
}