我需要能够从Firebase上的我的数据库中随机选择一些数据。对于这一点,以避免下载整个数据库,我想通过一个unsigned int就像这个截图所示的键创建条目:从Firebase中的最后一个孩子处获得密钥
我的问题是,我怎么能检索关键最后一个项目的添加?
我想:
ref.queryOrderedByKey().queryLimited(toFirst: 1).observeSingleEvent(of: .value, with: { [unowned self] snapshot in
let id: UInt64
if snapshot.exists(), let child = snapshot.children.nextObject() as? FIRDataSnapshot {
id = UInt64(child.key)!
} else {
id = 1
}
})
但UInt64(child.key)!
,不管我用queryLimited(toFirst:)
或queryLimited(toLast:)
,总是返回1
我该怎么办错了吗?
似乎问题来自'observeSingleEvent'。当使用'observe'代替时,我得到预期的密钥。 – Nico