0

I want to make multiple queries like SELECT from products WERE category = 'category1' AND brand = brand-1

I find this on StackOverflow but this is for pure javascript I use typescript and angularfire2 how I can do the same with angular fire 2

Query based on multiple where clauses in firebase

ref
  .orderBy('products')
  .equalTo('category1')
  .on('child_added', function(snapshot) { 
      var product = snapshot.val();
      if (product.brand == 'brand-1') {
          console.log(product);
      }
  });

Any alternative of brand_category : "somebrand_category-2"

Any example with angularFire2 is gona help me. Thanx all

I try to structure the database as much flat is possible. but if i nead select from products were age_groups are 0-4 and brand is apivita and sell_price < 50$

My firebase database.json have this structure

"product_53": {
    "custom_id": "116716",
    "title": "Apivita - Κρέμα με Καλέντουλα - 50ml",
    "added_by": "test@gmail.com",
    "timestamp": 1497524018000,
    "category": {
      "-Klwisr1E1I0bEXVl-vh": true,
      "-Klwiqs7ARPUPBz0Jjgc": true,
      "-Klwjq1VowPvcA9Ycp93": true,
      "-KlwqkaUw9eu8zFKNDuW": true
    },
    "sub_category": {
      "-KmCt68ZxywrAjLRDPuF": true,
      "-KlxaDFwtdcsxe439nth": true,
      "-KmD4LF3UPT720qS3BWz": true,
      "-KmD4e9AMIPj46bB-HF4": true,
      "-KmD9d7CDNKapp03dM7e": true
    },
    "final_category": {
      "-KmCtR9mDf_CvwtS3B74": true,
      "-KmCter6Woj-xM1jPNs4": true,
      "-KmC5KWuVwotn0sIz8o1": true,
      "-KmD4kc-UpCb7AhNvX8f": true,
      "-KmD5ip7A01BzMNyzdT_": true,
      "-KmDA3o_afOGBYsw_qqi": true,
      "-KmDA6SnZnCkCR7-5pfo": true
    },
    "needs": {
      "-Km5ncKlPDe8C4nFq6kG": true,
      "-Km5nnlqK5NoYVSTGEIF": true
    },
    "age_groups": {
      "-KmQLHJOA-5gPoqbLIoL": true,
      "-KmQM7eslSqw-7GFls5A": true,
      "-KmQNCW0KIRZ192eDeSO": true,
      "-KmQMRo2_YrndSE4qlv7": true,
      "-KmQMstVWnaaJ_SRkEQe": true,
      "-KmQN1-zntuexcUtMnKW": true,
      "-KmQN3SH7_P73cwZrSmD": true,
      "-KmQN6Aze7LROyH_cCpP": true,
      "-KmQN9WKyTDpgQrLWkK8": true
    },
    "brand": "Apivita",
    "bought_price": "0",
    "sell_price": "7.96",
    "uses": "<p><span style=\"font-size:12px\">&Alpha;&pi;&lambda;ώ&sigma;&tau;&epsilon; &mu;&epsilon; &alpha;&pi;&alpha;&lambda;έ&sigmaf; &kappa;&iota;&nu;ή&sigma;&epsilon;&iota;&sigmaf; &sigma;&tau;&eta;&nu; &pi;ά&sigma;&chi;&omicron;&upsilon;&sigma;&alpha; &pi;&epsilon;&rho;&iota;&omicron;&chi;ή. &Chi;&rho;&eta;&sigma;&iota;&mu;&omicron;&pi;&omicron;&iota;ή&sigma;&tau;&epsilon; 2-3 &phi;&omicron;&rho;έ&sigmaf; &tau;&eta;&nu; &eta;&mu;έ&rho;&alpha;, &gamma;&iota;&alpha; ό&sigma;&omicron; &chi;&rho;&epsilon;&iota;ά&zeta;&epsilon;&tau;&alpha;&iota;.</span></p>\n\n<p><span style=\"font-size:12px\">&Mu;&eta;&nu; &epsilon;&phi;&alpha;&rho;&mu;ό&zeta;&epsilon;&tau;&epsilon; &sigma;&epsilon; &alpha;&nu;&omicron;&iota;&chi;&tau;έ&sigmaf; &pi;&lambda;&eta;&gamma;έ&sigmaf;.&nbsp;</span></p>\n",
    "description": "<p><span style=\"font-size:12px\"><strong>&Kappa;&rho;έ&mu;&alpha; &mu;&epsilon; &kappa;&alpha;&lambda;έ&nu;&tau;&omicron;&upsilon;&lambda;&alpha; (50ml)</strong></span></p>\n\n<p><span style=\"font-size:12px\">&Eta; &kappa;&alpha;&lambda;έ&nu;&tau;&omicron;&upsilon;&lambda;&alpha; &epsilon;ί&nu;&alpha;&iota; &gamma;&nu;&omega;&sigma;&tau;ή &gamma;&iota;&alpha; &tau;&iota;&sigmaf; &epsilon;&nu;&upsilon;&delta;&alpha;&tau;&iota;&kappa;έ&sigmaf; &kappa;&alpha;&iota; &kappa;&alpha;&tau;&alpha;&pi;&rho;&alpha;ϋ&nu;&tau;&iota;&kappa;έ&sigmaf; &tau;&eta;&sigmaf; &iota;&delta;&iota;ό&tau;&eta;&tau;&epsilon;&sigmaf;.</span></p>\n\n<p><span style=\"font-size:12px\">&Pi;&alpha;&rho;&alpha;&delta;&omicron;&sigma;&iota;&alpha;&kappa;ά &chi;&rho;&eta;&sigma;&iota;&mu;&omicron;&pi;&omicron;&iota;&epsilon;ί&tau;&alpha;&iota; &gamma;&iota;&alpha;:</span></p>\n\n<ul>\n\t<li><span style=\"font-size:12px\">ή&pi;&iota;&omicron;&upsilon;&sigmaf; &epsilon;&rho;&epsilon;&theta;&iota;&sigma;&mu;&omicron;ύ&sigmaf; &kappa;&alpha;&iota; &epsilon;&xi;&alpha;&nu;&theta;ή&mu;&alpha;&tau;&alpha;</span></li>\n\t<li><span style=\"font-size:12px\">&epsilon;&nu;&upsilon;&delta;ά&tau;&omega;&sigma;&eta; &sigma;&tau;&omicron; &xi;&eta;&rho;ό &kappa;&alpha;&iota; &epsilon;&upsilon;&alpha;ί&sigma;&theta;&eta;&tau;&omicron; &delta;έ&rho;&mu;&alpha;</span></li>\n\t<li><span style=\"font-size:12px\">&mu;&epsilon;&tau;ά &tau;&omicron; &xi;ύ&rho;&iota;&sigma;&mu;&alpha;,&nbsp;&omega;&sigmaf; after shave</span></li>\n\t<li><span style=\"font-size:12px\">&mu;&omega;&rho;ά &kappa;&alpha;&iota; &epsilon;&upsilon;&alpha;ί&sigma;&theta;&eta;&tau;&omicron; &pi;&alpha;&iota;&delta;&iota;&kappa;ό &delta;έ&rho;&mu;&alpha;.</span></li>\n</ul>\n\n<p><span style=\"font-size:12px\"><em><strong>&Alpha;&pi;&omicron;&kappa;&lambda;&epsilon;&iota;&sigma;&tau;&iota;&kappa;ή &kappa;&alpha;&iota;&nu;&omicron;&tau;&omicron;&mu;ί&alpha;:&nbsp;</strong>&Eta; Apivita έ&chi;&epsilon;&iota; &alpha;&nu;&tau;&iota;&kappa;&alpha;&tau;&alpha;&sigma;&tau;ή&sigma;&epsilon;&iota; &tau;&omicron; &nu;&epsilon;&rho;ό &mu;&epsilon; έ&gamma;&chi;&upsilon;&mu;&alpha; &alpha;&pi;ό &kappa;&alpha;&lambda;έ&nu;&tau;&omicron;&upsilon;&lambda;&alpha; &gamma;&iota;&alpha; &tau;&eta;&nu; &epsilon;&nu;&upsilon;&delta;&alpha;&tau;&iota;&kappa;ή &kappa;&alpha;&iota; &kappa;&alpha;&tau;&alpha;&pi;&rho;&alpha;ϋ&nu;&tau;&iota;&kappa;ή &tau;&eta;&sigmaf; &delta;&rho;ά&sigma;&eta;.</em></span></p>\n\n<hr />\n<p><span style=\"font-size:12px\"><strong>&Kappa;ύ&rho;&iota;&alpha; &sigma;&upsilon;&sigma;&tau;&alpha;&tau;&iota;&kappa;ά</strong></span></p>\n\n<ul>\n\t<li><span style=\"font-size:12px\">8% &lambda;ά&delta;&iota; &kappa;&alpha;&lambda;έ&nu;&tau;&omicron;&upsilon;&lambda;&alpha;&sigmaf;.</span></li>\n\t<li><span style=\"font-size:12px\">5% &beta;ά&mu;&mu;&alpha; &kappa;&alpha;&lambda;έ&nu;&tau;&omicron;&upsilon;&lambda;&alpha;&sigmaf;.</span></li>\n\t<li><span style=\"font-size:12px\">66% έ&gamma;&chi;&upsilon;&mu;&alpha; &kappa;&alpha;&lambda;έ&nu;&tau;&omicron;&upsilon;&lambda;&alpha;&sigmaf;.</span></li>\n</ul>\n\n<hr />\n<p><span style=\"font-size:12px\"><strong>&Beta;&alpha;&sigma;&iota;&kappa;ά &chi;&alpha;&rho;&alpha;&kappa;&tau;&eta;&rho;&iota;&sigma;&tau;&iota;&kappa;ά</strong></span></p>\n\n<ul>\n\t<li><span style=\"font-size:12px\">&Kappa;&alpha;&tau;ά&lambda;&lambda;&eta;&lambda;&omicron; &gamma;&iota;&alpha; &pi;&alpha;&iota;&delta;&iota;ά &kappa;&alpha;&iota; &beta;&rho;έ&phi;&eta;.</span></li>\n\t<li><span style=\"font-size:12px\">&Kappa;&alpha;&tau;ά&lambda;&lambda;&eta;&lambda;&omicron; &gamma;&iota;&alpha; &pi;&rho;ό&sigma;&omega;&pi;&omicron; &kappa;&alpha;&iota; &sigma;ώ&mu;&alpha; &kappa;&alpha;&iota; &gamma;&iota;&alpha; &omicron;&mu;&omicron;&iota;&omicron;&pi;&alpha;&theta;&eta;&tau;&iota;&kappa;ή &theta;&epsilon;&rho;&alpha;&pi;&epsilon;ί&alpha;.</span></li>\n\t<li><span style=\"font-size:12px\">&Mu;&epsilon; 96% &phi;&upsilon;&sigma;&iota;&kappa;ά &sigma;&upsilon;&sigma;&tau;&alpha;&tau;&iota;&kappa;ά,&nbsp;&mu;&epsilon;&tau;&alpha;&xi;ύ ά&lambda;&lambda;&omega;&nu;:&nbsp;&beta;ά&lambda;&sigma;&alpha;&mu;&omicron;, &pi;&rho;ό&pi;&omicron;&lambda;&eta;, &gamma;&lambda;&upsilon;&kappa;ί&rho;&iota;&zeta;&alpha;, &pi;&rho;&omicron;&beta;&iota;&tau;&alpha;&mu;ί&nu;&eta; &Beta;5, &alpha;-&beta;&iota;&sigma;&alpha;&beta;&omicron;&lambda;ό&lambda;&eta;, &alpha;&iota;&theta;έ&rho;&iota;&alpha; έ&lambda;&alpha;&iota;&alpha; &gamma;&epsilon;&rho;ά&nu;&iota;, &lambda;&epsilon;&beta;ά&nu;&tau;&alpha; &kappa;&alpha;&iota; &chi;&alpha;&mu;&omicron;&mu;ή&lambda;&iota;.&nbsp;</span></li>\n\t<li><span style=\"font-size:12px\">&Delta;&epsilon;&nu; &pi;&epsilon;&rho;&iota;έ&chi;&omicron;&nu;&tau;&alpha;&iota; &chi;&eta;&mu;&iota;&kappa;ά &sigma;&upsilon;&sigma;&tau;&alpha;&tau;&iota;&kappa;ά &pi;&omicron;&upsilon; έ&chi;&omicron;&upsilon;&nu; &kappa;&alpha;&tau;&eta;&gamma;&omicron;&rho;&eta;&theta;&epsilon;ί &gamma;&iota;&alpha; &alpha;&rho;&nu;&eta;&tau;&iota;&kappa;έ&sigmaf; &epsilon;&pi;&iota;&delta;&rho;ά&sigma;&epsilon;&iota;&sigmaf; &sigma;&tau;&eta;&nu; &upsilon;&gamma;&epsilon;ί&alpha; ή &tau;&omicron; &pi;&epsilon;&rho;&iota;&beta;ά&lambda;&lambda;&omicron;&nu;.</span></li>\n\t<li><span style=\"font-size:12px\">&Chi;&omega;&rho;ί&sigmaf;: parabens, &sigma;&iota;&lambda;&iota;&kappa;ό&nu;&eta;, mineral oil, propyleneglycol, ethanolamines, &chi;&rho;&omega;&sigma;&tau;&iota;&kappa;έ&sigmaf;, &nbsp;ά&rho;&omega;&mu;&alpha;.</span></li>\n\t<li><span style=\"font-size:12px\">&Delta;&epsilon;&rho;&mu;&alpha;&tau;&omicron;&lambda;&omicron;&gamma;&iota;&kappa;ά &epsilon;&lambda;&epsilon;&gamma;&mu;έ&nu;&omicron;.&nbsp;</span></li>\n</ul>\n",
    "weight": "50ml"
  },
George C.
  • 6,574
  • 12
  • 55
  • 80
  • The example you linked is idiomatic for this type of problem. Which of the steps in that question have you already taken? What specific part are you having problems with? It is typically a lot easier to help if you share the [minimal code that reproduces where **you** are stuck](http://stackoverflow.com/help/mcve) (known as an MCVE) instead of/in addition to copying code from somewhere and asking for a translation to your context. – Frank van Puffelen Jul 02 '17 at 16:38
  • Frank thanx for your fast response. I build a website that has some filters for products and I build this for 1 month now and I come across for filtering for the first time and the filters I wand is multiple queries. after research, i find that I need to do Method #8 in this example https://www.youtube.com/watch?v=sKFLI5FOOHs&list=PLl-K7zZEsYLlP-k-RKFa7RyNPa9_wCH2s&index=4 my database already have products is dificul to make changes now i just ask if is there any alternative of brand_category : "somebrand_category-2" – George C. Jul 02 '17 at 16:49
  • Your brand+category sounds perfectly possible by combining the values into a property (as you've shown in your updates question). – Frank van Puffelen Jul 02 '17 at 17:08
  • @Frank i have this format – George C. Jul 02 '17 at 17:50

0 Answers0