最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How can I query Firebase for an equalTo boolean parameter? - Stack Overflow

programmeradmin2浏览0评论

My database looks like

{
  "chats" : {
    "-K5hUtxNOPLWwRTb8fAj" : {
      "clientId" : 893,
      "messages" : {
        "-K5hUtyCwWuPeFT0cSXr" : {
          "chatKey" : "-K5hUtxNOPLWwRTb8fAj",
          "messageText" : "new message",
          "timestamp" : 1450314801055,
          "userId" : "19eaa3f0-4ab3-44b4-b418-03b64ca2313a"
        },
        "-K5hUvwKsAOvuvt-ymFG" : {
          "chatKey" : "-K5hUtxNOPLWwRTb8fAj",
          "messageText" : "did this work",
          "timestamp" : 1450314809127,
          "userId" : "48f7a208-5647-4d0e-921c-c49595de1db2"
        }
      },
      "newQuestion" : false,
      "startedByUserId" : "19eaa3f0-4ab3-44b4-b418-03b64ca2313a"
    },
    "-K5hVKjs4SkSHD7WTh1I" : {
      "clientId" : 518,
      "messages" : {
        "-K5hVNzPKNgxLCgkfInI" : {
          "chatKey" : "-K5hVKjs4SkSHD7WTh1I",
          "messageText" : "this is new",
          "timestamp" : 1450314928109,
          "userId" : "19eaa3f0-4ab3-44b4-b418-03b64ca2313a"
        }
      },
      "newQuestion" : true,
      "startedByUserId" : "19eaa3f0-4ab3-44b4-b418-03b64ca2313a"
    }
  }
}

How can I get all chats that have a newQuestion set to true? I've tried a few different queries, the latest is:

firebaseDb.child("chats/newQuestion").equalTo(true).once("value"...

But that plains about an order being needed for a boolean?

My database looks like

{
  "chats" : {
    "-K5hUtxNOPLWwRTb8fAj" : {
      "clientId" : 893,
      "messages" : {
        "-K5hUtyCwWuPeFT0cSXr" : {
          "chatKey" : "-K5hUtxNOPLWwRTb8fAj",
          "messageText" : "new message",
          "timestamp" : 1450314801055,
          "userId" : "19eaa3f0-4ab3-44b4-b418-03b64ca2313a"
        },
        "-K5hUvwKsAOvuvt-ymFG" : {
          "chatKey" : "-K5hUtxNOPLWwRTb8fAj",
          "messageText" : "did this work",
          "timestamp" : 1450314809127,
          "userId" : "48f7a208-5647-4d0e-921c-c49595de1db2"
        }
      },
      "newQuestion" : false,
      "startedByUserId" : "19eaa3f0-4ab3-44b4-b418-03b64ca2313a"
    },
    "-K5hVKjs4SkSHD7WTh1I" : {
      "clientId" : 518,
      "messages" : {
        "-K5hVNzPKNgxLCgkfInI" : {
          "chatKey" : "-K5hVKjs4SkSHD7WTh1I",
          "messageText" : "this is new",
          "timestamp" : 1450314928109,
          "userId" : "19eaa3f0-4ab3-44b4-b418-03b64ca2313a"
        }
      },
      "newQuestion" : true,
      "startedByUserId" : "19eaa3f0-4ab3-44b4-b418-03b64ca2313a"
    }
  }
}

How can I get all chats that have a newQuestion set to true? I've tried a few different queries, the latest is:

firebaseDb.child("chats/newQuestion").equalTo(true).once("value"...

But that plains about an order being needed for a boolean?

Share Improve this question edited Dec 18, 2015 at 17:09 David East 32.6k6 gold badges69 silver badges83 bronze badges asked Dec 17, 2015 at 1:25 ShamoonShamoon 43.7k101 gold badges332 silver badges628 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 9

You have to specify an orderBy method first.

var query = firebaseDb.child("chats").orderByChild("newQuestion").equalTo(true);

Here's the Firebase docs on querying.

发布评论

评论列表(0)

  1. 暂无评论