- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 startAt 和/或 endAt 过滤 firebase 数据。我的数据结构如下。
{
"notes" : {
"-LOs0Ikx4ydM5RatREM1" : {
"data" : {
"dueDate" : 1561629600000,
"description" : "Korewa nan desuka?!",
"createdAt" : 1539611900000,
"title" : "First "
},
"members" : {
"author" : "1212121212121212121212121212"
}
},
"-LOs0Ikx4ydM5RatREM2" : {
"data" : {
"dueDate" : 4004870448000,
"description": "Test"
"createdAt" : 1539611900000,
"title" : "Second"
},
"members" : {
"author" : "1212121212121212121212121212"
}
},
"-LhBt9msLFKqUQ-koI9W" : {
"data" : {
"dueDate" : 1564653600000,
"description" : "abc",
"createdAt" : 1560363158279,
"title" : "August 1"
},
"members" : {
"author" : "3434343434343434343434343434"
}
},
"-LhBtKdDrQv9eKuYdfCi" : {
"data" : {
"dueDate" : 1564653600000,
"description" : "abcdef",
"createdAt" : 1560363158279,
"title" : "August 2"
},
"members" : {
"author" : "3434343434343434343434343434"
}
}
}
}
我希望获取已过 dueDate 的所有“笔记”。
const now = moment().valueOf() //Eg. 1561629500000
database.ref('notes/')
.orderByChild("dueDate")
.endAt(now)
.once("value", (snapshot) => {
console.log('Process expired notes')
snapshot.forEach( (data) => {
const obj = data.val()
console.log('Date comparison:', (now >= obj.data.alertDate))
...
上面的代码不起作用,它返回示例 JSON 中的所有对象。 console.log 为四分之三的返回对象记录“False”。
我可以进行比较并仅处理符合我的标准的对象,但这会达不到目的。
我已在 ["notes\data\alertDate"] 上对数据库建立了索引。
我错过了什么?我一定以某种方式误解了文档。 :)
最佳答案
您的 dueDate
属性嵌套在 data
下,因此您需要将地址设置为 data/dueDate
:
database.ref('notes')
.orderByChild("data/dueDate")
您可能希望同时包含 startAt()
和 endAt()
子句,只需为 startAt()
提供合理的值,并且您已在 endAt()
使用的特定值。
关于javascript - 如何使用 startAt 和 endAt 根据时间戳过滤 Firebase 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57009328/
当我试图通过电子邮件或电话号码查找记录时,我一直在使用下面的两个代码,有时第一个代码工作正常有时不起作用,第二个代码也一样。 下面的代码和什么时候应该使用“equalTo”或“startAt and
我有这个代码,但我不知道如何让歌曲从 0:19 秒开始。你能帮我吗? · ROLEPLAY · var audio = document
与StartAt,StartAtSequence等其他代码相比,我对 StartWithLastReceived subscription option的要求/重要性有些困惑。 我试图深入研究Java
好像 query.startAt 规则被破坏了,或者我不明白。有人可以确认吗?这是最小的可重现错误。 Live example ;使用 CTRL+SHIFT+i 打开 Chrome 控制台。 GitH
我在我的 Android 应用程序中使用查询时遇到了一些问题。我的数据库最终将有成百上千个轮询对象。我想一次获得大约 20 个,一旦完成这 20 个,我将获得下一个 20 个。我可以轻松获得前 20
我的实时数据库节点结构如下: Bookings{ carID1{ BookingStartTime: some POJO BookingStartTime:
我执行以下查询: firebase.database().ref().child('files').child('54a8924f8c417b2a281f4e3a4c639785/').orderBy
我已经为作业定义了以下触发器: var postbagJobTrigger = (ICronTrigger)TriggerBuilder.Create() .WithIdentity(
infiniteHandler($state) { var next = db .collection("posts") .orderBy("timestamp
我的数据从纪元开始以小时为单位存储。我只想获取数据的一部分 - 例如,我想指定我希望所有数据都从 453615 开始。 到目前为止我得到了这段代码: this.dbService.database
让我们假设上面的 Firebase 数据库架构。 我想要的是检索“15039996197”时间戳之后的消息。每个消息对象都有一个createdAt属性。 如何才能仅在特定时间戳之后获取消息?在本例中,
我想使用 startAt() 和 endAt() 方法,但我不完全理解它们是如何工作的。 假设我有当前的数据库 "users" : { "someUser1" : { "email
我正在尝试使用游标,但是每当我查询它时,我都得不到任何结果。例如,下面返回 0, null const next = admin.firestore().collectionGroup('extIte
Firebase 数据库 startAt(boolean) 做什么? Firebase documentation说: Create a query constrained to only retur
正打算将其发布到他们的 github 存储库,但似乎他们更喜欢在这里提出一般性问题。 那么使用startAt()从firebase数据库获取数据时参数有字符串长度限制吗? 我遇到了一个问题,它似乎仅限
我正在尝试使用 firebase 制作 android 应用程序,我想使用 startAt() 在 firebase 上使用搜索功能。但是结果让我很困惑。 我有一些像这样的 Firebase 数据。
我正在开发一个使用 Firebase 作为后端的 Android 应用程序。我是 Firebase 的新手,遇到了一个问题,问题是当我尝试使用 startAt 查询搜索记录时,它返回的结果不是以我输入
这段代码工作正常。 我想要的唯一改进是 - 当我传递“Pi”时,它获取所有以名称“Pi”开头的项目对象,但是当我输入“pi”时它什么都不返回! 这意味着我希望此方法 startAt(itemName)
- foo |--- -LK7rNAPKZP7drHK1eb_ |- timeStamp: 1534966072658 |--- -LKAPfu2lLl2B5zInIhX |-
在我的 firestore 数据库中,有 12+ 个文档。我通过调用以下函数 on button click 正确获取了前 3 个文档.但是在 secondclick ,尽管正确传递了 documen
我是一名优秀的程序员,十分优秀!