如何将包含空字符串的firebase查询作为结果的一部分?

时间:2016-12-15 08:54:07

标签: javascript firebase firebase-realtime-database

如果我有以下

{Books 
       - $firebasekey1
            -dateOfExpiry: "" 
       - $firebasekey2
            -dateOfExpiry:"2016-12-31"
       - $firebasekey3
            -dateOfExpiry:"2015-01-01"
}  

如何查询所有尚未过期的图书,其结果还应包含值"",即空字符串?

我可以做类似

的事情
ref.orderByChild("dateOfExpiry").startAt("2016-12-15").on("child_added", function(snapshot) {
  console.log(snapshot.key);

但它不会返回具有""的项目(我需要将其包含在结果中)。

2 个答案:

答案 0 :(得分:1)

您必须运行两个查询:

ref.orderByChild("dateOfExpiry").startAt("2016-12-15").on("child_added", function (snapshot) {
    console.log(snapshot.key);
})
ref.orderByChild("dateOfExpiry").equalTo("").on("child_added", function (snapshot) {
    console.log(snapshot.key);
})

答案 1 :(得分:0)

除了马修的答案之外,你可以给这些书一个默认的到期日期,这个日期是非常遥远的:

{Books 
   - $firebasekey1
        -dateOfExpiry: "9999-12-31" 
   - $firebasekey2
        -dateOfExpiry:"2016-12-31"
   - $firebasekey3
        -dateOfExpiry:"2015-01-01"
}

然后,您当前的单个查询将捕获所有未过期的图书。