【发布时间】:2016-08-22 09:47:39
【问题描述】:
我有 3 个带有键的对象,如下所示:
它们的格式为 YYYYMMDD。我正在尝试获取一个月的数据。但我没有得到想要的输出。
当我这样查询时:
var ref = db.child("-KPXECP6a1pXaM4gEYe0");
ref.orderByKey().startAt("20160901").once("value", function (snapshot) {
console.log("objects: " + snapshot.numChildren());
snapshot.forEach(function(childSnapshot) {
console.log(childSnapshot.key);
});
});
我得到以下输出:
objects: 3
20160822-KPl446bbdlaiQx6BOPL
20160901-KPl48ID2FuT3tAVf4DW
20160902-KPl4Fr4O28VpsIkB70Z
当我与 endAt 一起查询时:
ref.orderByKey().startAt("20160901").endAt("20160932").once("value", function (snapshot) {
console.log("objects: " + snapshot.numChildren());
snapshot.forEach(function(childSnapshot) {
console.log(childSnapshot.key);
});
});
我明白了:
objects: 0
如果我在末尾使用 ~ 符号,
ref.orderByKey().startAt("20160901").endAt("20160932~").once("value", function (snapshot) {
console.log("objects: " + snapshot.numChildren());
snapshot.forEach(function(childSnapshot) {
console.log(childSnapshot.key);
});
});
我得到了输出:
objects: 3
20160822-KPl446bbdlaiQx6BOPL
20160901-KPl48ID2FuT3tAVf4DW
20160902-KPl4Fr4O28VpsIkB70Z
这里有什么我遗漏的吗?
【问题讨论】:
-
您在问题中包含了 JSON 树的图片。请将其替换为实际的 JSON 作为文本,您可以通过单击 Firebase 数据库控制台中的导出按钮轻松获取该文本。将 JSON 作为文本使其可搜索,使我们可以轻松地使用它来测试您的实际数据并在我们的答案中使用它,通常只是一件好事。重现问题的 jsfiddle/jsbin 会更好。
-
@FrankvanPuffelen 给我一些时间。我正在制作小提琴
-
@FrankvanPuffelen,这里是小提琴:jsfiddle.net/kirtan403/g0o6y7wv
标签: javascript firebase firebase-realtime-database