Swift 如何在Flatter中访问Firebase实时数据库快照的子属性?
我以前用swift写snapshot.children.allObjects。如何使用firebase在flifter中编写此代码?如果我使用snapshot.value作为![String:Any]快照的节点未按顺序从数据库中检索。是否有其他选项可以按顺序从Firebase控制台检索对象Swift 如何在Flatter中访问Firebase实时数据库快照的子属性?,swift,firebase,firebase-realtime-database,flutter,Swift,Firebase,Firebase Realtime Database,Flutter,我以前用swift写snapshot.children.allObjects。如何使用firebase在flifter中编写此代码?如果我使用snapshot.value作为![String:Any]快照的节点未按顺序从数据库中检索。是否有其他选项可以按顺序从Firebase控制台检索对象 query.observeSingleEvent(of: .value, with: { (snapshot) in guard let snapshot = snapshot.children.al
query.observeSingleEvent(of: .value, with: { (snapshot) in
guard let snapshot = snapshot.children.allObjects as? [DataSnapshot]
else { return completion(nil, []) }
snapshot.forEach({ (postSnapshot) in
print(postSnapshot)
})
})
请尝试以下操作:
FirebaseDatabase database = new FirebaseDatabase(app: widget.app);
_messagesRef = database.reference().child('users');
database.reference().once().then((DataSnapshot snapshot) {
var names=snapshot.value["name"].toString();
var email=snapshot.value["email"].toString();
});
假设您拥有此数据库:
users
name: "userx"
email: "userx@gmail.com"
首先配置数据库,然后在childusers
处引用位置。然后附加一个侦听器one()
,以检索数据
查看以下链接:
问题在于Firebase快照没有按顺序显示。例如,当我需要基于时间戳查询用户时,我不能这样做,因为我在应用程序中使用分页来检索用户段。为什么不使用orderByChild、startAt或endAt之类的查询?我知道,但我结束的键实际上不是最后一个键,因为这些键不是按顺序从firebase检索的。