模型feed.ts
export interface Feed {
firstName? : string;
signup_id? : string;
title? : string;
}
新闻feed.component模板
<ul *ngFor="let feed of feeds">
<!-- <li>{{feed.firstName}}</li> --> // Here I want to print my first name
<li>{{feed.title}}</li>
<li>{{feed.signup_id}}</li>
</ul>
news-feed.component.ts
import { Component, OnInit } from '@angular/core';
import { Feed } from '../../models/feed';
import { FeedService } from '../../services/feed.service';
@Component({
selector: 'app-news-feed',
templateUrl: './news-feed.component.html',
styleUrls: ['./news-feed.component.css']
})
export class NewsFeedComponent implements OnInit {
feeds : Feed[];
constructor(private feedService: FeedService) { }
ngOnInit() {
this.feedService.sellectAllNews().subscribe(feeds => {
this.feeds = feeds;
})
}
}
feed.service.ts
import { AngularFirestore, AngularFirestoreCollection, AngularFirestoreDocument } from 'angularfire2/firestore';
import { Observable } from 'rxjs/Observable';
import { Feed } from '../models/feed';
@Injectable()
export class FeedService {
feedCollection : AngularFirestoreCollection<Feed>;
feedItem : Observable<Feed[]>;
constructor(private afs : AngularFirestore) {
this.collectionInitialization();
}
collectionInitialization() {
// I think here I have to modify or add next collection to will get the output
this.feedCollection = this.afs.collection('col-challange');
this.feedItem = this.feedCollection.stateChanges().map(changes => {
return changes.map(a => {
const data = a.payload.doc.data() as Feed;
return data;
})
})
}
sellectAllNews() {
this.collectionInitialization();
return this.feedItem;
}
}
这可以做消防商店吗?我是消防商店的新手。请帮帮我。谢谢!
对于遇到问题的任何人,请在使用Angular6、RxJS 6和AngularFire v5的同时合并Firebase Cloud Firestore中的文档。0请尝试以下代码
模型feed.ts
export interface Feed {
firstName?: string;
signup_id?: string;
title?: string;
}
export interface CollSignup {
firstName: string;
mob: string;
}
export interface ColChallange {
signup_id: string;
title: string;
}
服务馈送。服务ts
import { AngularFirestore, AngularFirestoreCollection } from '@angular/fire/firestore';
import { Observable, combineLatest } from 'rxjs';
import {flatMap, map} from 'rxjs/operators';
import {ColChallange, CollSignup, Feed} from '../../models/feed';
@Injectable()
export class FeedService {
colChallangeCollection: AngularFirestoreCollection<ColChallange>;
feedItem: Observable<Feed[]>;
constructor(private afs: AngularFirestore) { }
collectionInitialization() {
this.colChallangeCollection = this.afs.collection('col-challange');
this.feedItem = this.colChallangeCollection.snapshotChanges().pipe(map(changes => {
return changes.map( change => {
const data = change.payload.doc.data();
const signupId = data.signup_id;
const title = data.title;
return this.afs.doc('coll-signup/' + signupId).valueChanges().pipe(map( (collSignupData: CollSignup) => {
return Object.assign(
{firstName: collSignupData.firstName, signup_id: signupId, title: title}); }
));
});
}), flatMap(feeds => combineLatest(feeds)));
}
sellectAllNews() {
this.collectionInitialization();
return this.feedItem;
}
}
打印所有数据
this.feedItem.forEach(value => {
console.log(value);
});
您需要合并两个集合。
试试这个代码
this.feedCollection = this.afs.collection('col-challange');
this.feedItem = this.feedCollection.snapshotChanges().map(changes => {
return changes.map(a => {
//here you get the data without first name
const data = a.payload.doc.data() as Feed;
//get the signup_id for getting doc from coll-signup
const signupId = data.signup_id;
//get the related document
return afs.collection('coll-signup').doc(signupId).snapshotChanges().take(1).map(actions => {
return actions.payload.data();
}).map(signup => {
//export the data in feeds interface format
return { firstName: signup.firstName, ...data };
});
})
}).flatMap(feeds => Observable.combineLatest(feeds));
我使用的是Vue.js和Firebase FiRecovery。现在我有两个集合和。在订单集合中,我已经存储了集合的每个文档的id。我现在必须从中获取相应用户的详细信息。我应该怎么做?这是我迄今为止所做的 我需要在userInfo中存储用户数据。提前谢谢
我所处的情况是,当用户付款时,存储在Firestore集合(CartProducts)中的购物车产品应移动到名为SuccessFullOrders的新集合。 因此,我的基本问题是如何在Flutter中将所有文档从一个集合移动到Firestore的另一个集合 我不知道如何在flutter中编写代码。谢谢你的回答 这是我的代码
是否有方法获取将文档添加到集合后生成的文档id? 如果我将文档添加到代表社交媒体软件中“帖子”的集合中,我想获取该文档ID并将其用作不同集合中另一个文档中的字段。 如果我无法获取添加文档后生成的文档Id,我是否应该计算一个随机字符串,并在创建文档时提供Id?这样我就可以使用与其他文档中的字段相同的字符串了? 快速结构示例:
嗨,我从javascript和react-native开始,我花了几个小时试图解决这个问题。有人能告诉我如何从firestore收集处获得所有文件吗? 我一直在尝试这个: 日志1打印所有对象(一个接一个),但日志2没有定义,为什么?
我的想法是为帖子创建一个like&views系统(用户可以喜欢和不喜欢一个帖子),并在一个片段中显示用户列表,顺序如下:顶级用户是拥有最多喜欢的用户。 > 我有一个帖子集。每个文档(是一篇文章)包含创建它的用户的ID,以及一个喜欢的计数器(我称之为“a”)。 我有另一个集合,用户。每个文档(它是一个用户)都包含一个计数器(我称之为“B”),它计算所有帖子加起来的赞数。 目前,我使用“B”对上面描述
我正在使用Java开发一个Android应用程序,我使用firestore数据库,我有一个名为用户位置的集合,其结构类似于照片: 分贝 我的问题是,当一个用户改变他的位置或一个新用户进入一个已经存在的位置(其他用户有相同的位置)时,它会创建一个新文档(如在“oran, algerie”中)。当我添加新用户并更新文档时,我想使用,但问题是我无法以正常方式检索根集合的所有文档: 它返回null。我尝试