Vietnam

    Nodejs.vn

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Groups
    • Search

    Hỏi về query trong firebase

    Hỏi Đáp
    0
    5
    1664
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Dang Nam
      Dang Nam last edited by

      Bác nào sử dụng firebase cho hỏi chút. Làm sao để query với nhiều điều kiện filter nhỉ

      1 Reply Last reply Reply Quote 0
      • L
        linhnguyen last edited by

        cách của mình thì child về rồi if else các kiểu ak :))

        1 Reply Last reply Reply Quote 0
        • Dang Nam
          Dang Nam last edited by

          Bạn thử ví dụ cái if else giúp mình với 🙂

          1 Reply Last reply Reply Quote 0
          • L
            linhnguyen last edited by

            Bạn thử viết mô tả cái data của bạn rồi filter sao, vậy mình dễ ví dụ hơn à. :))

            1 Reply Last reply Reply Quote 0
            • hidemanvn
              hidemanvn last edited by hidemanvn

              //users.json
              users = {
               user_id1: {
                name: 'Banana',
                from: 'Fruit',
                color: 'Yellow' 
               },
               user_id2: {
                name: 'Lemon',
                from: 'Fruit',
                color: 'Yellow' 
               },
               user_id3: {
                name: 'Carrot',
                from: 'Veggie',
                color: 'Yellow' 
               }
              }
              

              C1: Kiểu server half - client half, tìm theo color và from có thể theo cách sau:

              // firetest.js
              var ref = new Firebase("https://my.firebaseio.com/db/users");
              ref
                .orderBy('from')
                .startAt('Fruit').endAt('Fruit')
                .on('value', function(snap) { 
                    var fruit = snap.val();
                    if (fruit.color == 'Yellow') {
                        console.log(fruit); //=> Banana, Lemon
                    }
                });
              

              C2: Kiểu server only, client chỉ nhận kết quả.
              Tuy nhiên với các loại database key value để tăng tốc độ truy vấn thì người ta thường tạo ra một key chứa value cố định.

              //users.json
              users = {
               user_id1: {
                name: 'Banana',
                from: 'Fruit',
                color: 'Yellow',
                color_from: 'Yellow_Fruit' 
               },
               user_id2: {
                name: 'Lemon',
                from: 'Fruit',
                color: 'Yellow',
                color_from: 'Yellow_Fruit'  
               },
               user_id3: {
                name: 'Carrot',
                from: 'Veggie',
                color: 'Yellow' ,
                color_from: 'Yellow_Veggie' 
               }, 
              }
              

              Lúc đó chỉ cần post một query lên Server

              ....
              ref
                .orderBy('color_from')
                .startAt('Yellow_Fruit').endAt('Yellow_Fruit')
              ....
              

              C3: tổ chức lại database , thêm một số database tham chiếu

              users = {...}
              ....
              usersBy = {
               "by_from": {
                "Fruit": {
                 "by_color": {
                  "Yellow": [user_id1, user_i2]
                 }
                },
                "Veggie": {
                 "by_color": {
                  "Yellow": [user_i3]
                 }
                }
               }
              }
              ..
              
              1 Reply Last reply Reply Quote 0
              • First post
                Last post