从 firebase-realtime-database 过滤数据

Posted

技术标签:

【中文标题】从 firebase-realtime-database 过滤数据【英文标题】:filtering data from firebase-realtime-database 【发布时间】:2019-04-10 01:02:27 【问题描述】:

我正在尝试从具有用户用户名值的 firebase 获取数据。一周前我尝试了 2 种不同的方法,但现在我又回来了,我注意到我已经删除了它。

在 home.ts 中我订阅数据的地方

this.database.list<EventModels>('event-list').valueChanges().subscribe((eventData) =>  

, (err)=>
 console.log("Error while retrieving event details : ", err);
); 

this.eventListRef$ = this.database.list<EventModels>('event-list');
this.eventList$ = this.eventListRef$.snapshotChanges()
.pipe(
  map(changes => 
    changes.map(c => ( id: c.payload.key, ...c.payload.val() ))
  )
);

我要过滤的数据等于creator

由于我将创建者设置为用户的电子邮件,我想列出所有仅由用户创建的事件,使用 == firebase.auth().currentUser.email 并且我尝试过的所有事件都失败了。

【问题讨论】:

【参考方案1】:

来自AngularFire documentation on querying lists:

db.list('/items', ref => ref.orderByChild('size').equalTo('large'))

所以看起来你的应该是这样的:

this.eventListRef$ = this.database.list<EventModels>('event-list', 
  ref => firebase.database().ref("event-list").orderByChild("email").equalTo(firebase.auth().currentUser.email));

【讨论】:

以上是关于从 firebase-realtime-database 过滤数据的主要内容,如果未能解决你的问题,请参考以下文章

从PRISM开始学WPFMVVMViewModel?

在 python 中,为啥从数组读取比从列表读取慢?

从图库中挑选或从相机捕获的高质量图像

从PRISM开始学WPFMVVMCommand?

从PRISM开始学WPFPrism?

mysql 主-主-从-从