firebase - 如何从 Firebase 获取随机孩子
问题描述
我有一个具有以下结构的 Firebase 数据库:
{
"School" : {
"Class A" : {
"Student K" : [ "Language1", "Language2" ],
"Student L" : [ "Language1", "Language2", "Language3 ],
},
"Class B" : {
"Student M" : [ "Language1", "Language2" ],
"Student N" : [ "Language1", "Language3 ],
"Student O" : [ "Language1", "Language2", "Language3 ],
},
},
}
在这里,所有语言都是不同的,对于任何学生来说,它们都不相同。
我想从此数据库中检索一个随机的学生和语言对。我参考了Class
节点。
我正在检索所有的孩子,School/Class
然后将它们存储在地图中。要从中获取随机键值对,我只需遍历地图一次range
即可获取任意对。
我的代码如下所示:
q := constants.GlobalClient.NewRef("School/" + className)
result := make(map[string][]string)
lang, studName := "", ""
if err := q.Get(constants.GlobalCtx, &result); err != nil {
return nil, err
}
var allLang []string
for key, value := range result {
studName = key
allLang = value
break
}
但是,这并没有提供我想要的随机性,所以我只想从数据库查询本身中检索一个随机的学生、语言对。
解决方案
推荐阅读
- html - 悬停时的文本下划线更改填充
- perl - 遍历数组后返回布尔值
- elasticsearch - elasticsearch搜索请求大小限制错误
- python-3.x - Django:表单验证错误:['“”值的日期格式无效。它必须是 YYYY-MM-DD 格式。']
- python - pandas groupby和列的每个值的出现百分比
- sql - 拆分循环订单插入SQL语句
- javascript - 如何从用户输入中获取服务器信息 | 不和谐.js
- sql - 使用 SQL 查询 - 如何识别 OIM 请求已更新的属性 + OIM 11g R2 PS3
- python - 错误:device_event_log_impl.cc(211)] USB:usb_device_handle_win.cc:1020 无法从节点连接读取描述符:
- c++ - 如何迭代指向类的共享指针向量