Отфильтруйте данные, где статус = 'в ожидании' в листинге в Firebase, используя JavaScript - PullRequest
0 голосов
/ 23 марта 2019

Я создаю админ-панель на веб-сайте, и я использую 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>");

  });

должен отображать листинг фильтра, где статус = в ожидании

База данных

enter image description here

1 Ответ

0 голосов
/ 23 марта 2019

Вы можете использовать метод orderByChild вместе с методом equalTo для сортировки потомков по свойству status

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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...