【发布时间】:2021-11-24 05:59:15
【问题描述】:
我在 Firebase RealtimeDatabase 中使用 endAt() 时卡住了。我的结果中出现了一些不正确的值。这是我的代码:
resuftObj = await messagesRef
.child("test")
.orderByChild("country")
.endAt("ja", "9")
.limitToLast(4)
.once("value");
这是我的示例数据或视图:
|-测试:
|---1:{
“国家”:“我们”,
“身份证”:1
},
|---2:{
“国家”:“ja”,
“身份证”:2
},
|---3:{
“国家”:“ca”,
“身份证”:3
},
|---4:{
“国家”:“英国”,
“身份证”:4
},
|---5:{
“国家”:“我们”,
“身份证”:5
},
|---6:{
“国家”:“ca”,
“身份证”:6
},
|---7:{
“国家”:“英国”,
“身份证”:7
},
|---8:{
“国家”:“ja”,
“身份证”:8
},
|---9:{
“国家”:“我们”,
“身份证”:9
}
我希望返回带有“country”=“ja”的对象。但我看到两个值 3 和 6(“country”=“ca”)。我的想法是,当它达到 id=2 时,我的 Query 找不到更多结果,所以从最后(id=9)重新搜索。如何预防?
结果:
{
"2": {
"country": "ja",
"id": 2
},
"3": {
"country": "ca",
"id": 3
},
"6": {
"country": "ca",
"id": 6
},
"8": {
"country": "ja",
"id": 8
}
}
【问题讨论】:
标签: node.js firebase firebase-realtime-database