反应firebase - 按用户uid值过滤firebase获取的项目

时间:2016-03-03 23:31:50

标签: reactjs firebase

在我的反应应用中,我从Firebase中获取一个项目列表,以便在列表视图中显示。

    this.fb = new Firebase(rootUrl + 'items/');
    this.bindAsObject(this.fb, 'items');
    this.fb.on('value', this.handleDataLoaded);

每个项目都有一个发布它的用户的uid值。

我在应用中使用authData.uid来获取已登录的用户uid。

如何过滤列表以仅显示该用户的项目?

1 个答案:

答案 0 :(得分:1)

您是否尝试使用snapshot过滤列表?它的效率更高......

以下是如何使用一个:

var ref = new Firebase("https://YOUR-URL.firebaseio.com/");
    ref.orderByChild("location").equalTo("United States").on("child_added", function(snapshot) {
      document.write(snapshot.key());
    console.log(snapshot.key());
    });

您已经问过:“我如何过滤列表以仅显示该用户的项目?”

以上只是一个例子。在您的情况下,使用location 替换 project,或者您在数据库中存储的任何参数类型(https://YOUR-URL.firebaseio.com/)和United States替换用户名,ID或您要为代码中标识的用户存储的任何参数值。

  

基本的Firebase查询以我们的orderBy函数之一开头:   orderByChild()orderByKey()orderByPriority()。那你可以   将这些与其他五种方法结合起来进行复杂的查询:   limitToFirst()limitToLast()startAt()endAt()和   equalTo()。找出要使用的功能。

有关如何使用快照的详细信息,请参阅此处firebase.com/blog/2014-11-04-firebase-realtime-queries.html