使用javascript过滤firebase列表中status ='pending'的数据

问题描述 投票:0回答:1

我正在网站上创建管理面板,我在后端使用firebase作为数据库。我能够显示列表中接受状态列表的内容被更改为“已接受”,但事情是当状态变为接受然后列出时显示应该过滤并仅显示待定列表

pl.js

var firebaseheadingRef = firebase.database().ref().child("user");
function accept(userId) {
  var nodeRef = firebase.database().ref("/user/" + userId + "/listing/status");
  return nodeRef.set('accept');
} 

function reject(userId) {
  var nodeRef = firebase.database().ref("/user/" + userId + "/listing/status");
  return nodeRef.set('reject');
} 

firebaseheadingRef.on('child_added',datasnapshot=>{

   var title= datasnapshot.child("listing").child("title").val();
   var userid= datasnapshot.child("username").val();
   var type= datasnapshot.child("listing").child("title").val();
   var publisheddate= datasnapshot.child("listing").child("publish").val();
   var expirydate= datasnapshot.child("listing").child("expire").val();
   $("#tablebody").append("<tr><td>"+title+"</td><td>"+userid+"</td><td>"+type+"</td><td>"+publisheddate+"</td><td><button type=button id=accept onclick=accept('" + datasnapshot.key + "')>Accept</button><button type=button onclick=reject('" + datasnapshot.key + "')>Reject</button></td></tr>");

  });

应显示status = pending的过滤器列表

数据库

enter image description here

javascript html5 firebase
1个回答
0
投票

您可以使用orderByChild方法和equalTo方法按状态属性对子项进行排序

firebaseheadingRef.orderByChild("/listing/status").equalTo("pending")
.on('child_added',datasnapshot=> 
{
    //Enter your code here
});

尝试更改线路

var firebaseheadingRef = firebase.database().ref().child("user");

var firebaseheadingRef = firebase.database().ref('/user');
© www.soinside.com 2019 - 2024. All rights reserved.