Reactjs react firebase-按用户uid值筛选firebase获取的项目

Reactjs react firebase-按用户uid值筛选firebase获取的项目,reactjs,firebase,Reactjs,Firebase,在我的react应用程序中,我从Firebase获取一个项目列表,显示在列表视图中 this.fb = new Firebase(rootUrl + 'items/'); this.bindAsObject(this.fb, 'items'); this.fb.on('value', this.handleDataLoaded); 每个项目都有一个发布它的用户的uid值 我在应用程序中使用authData.uid获取登录用户的uid 如何过滤列表以仅显示该用户的项目?您

在我的react应用程序中,我从Firebase获取一个项目列表,显示在列表视图中

    this.fb = new Firebase(rootUrl + 'items/');
    this.bindAsObject(this.fb, 'items');
    this.fb.on('value', this.handleDataLoaded);
每个项目都有一个发布它的用户的uid值

我在应用程序中使用
authData.uid
获取登录用户的uid


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

您是否尝试过使用
快照来过滤列表?这是更有效的方式

下面是如何使用一个:

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());
    });
您曾问:“我如何过滤列表以仅显示该用户的项目?”

以上只是一个例子。在您的情况下,
位置
替换为
项目
,或数据库中存储的任何参数类型(位于
https://YOUR-URL.firebaseio.com/
)和
美国
将被
替换为用户名id,或为在代码中标识该用户而存储的任何参数值

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


有关如何使用快照的更多详细信息,请参见此处:

非常感谢。我如何像上面的函数那样将过滤后的结果放入BindaObject中?我现在使用的函数将所有项都放入数组中。欢迎使用。如我所说,使用
equalTo()
在数据库中搜索用户,获取项目。你明白吗?如果我的答案对你有帮助,请你将我的答案标记为已被接受并投票表决好吗?请在评论框中告诉我任何其他问题,如有必要,我会更新我的答案。谢谢你,克里斯!没问题。我想做的是让用户将多个项目放入this.bindaObject(this.fb,'items');如上所述。我希望我能解释得足够清楚,弄明白了。”this.bindaObject(this.fb.orderByChild(“用户”).equalTo(authData.uid),“items”);谢谢你的帮助