如何仅从经常更新条目的 firebase 实时数据库中检索最新的数据条目
How can I retrieve only the latest data entry from firebase realtime database that frequently updates entries
我正在尝试创建一个可以实时监控传感器读数的 Android 应用程序。这是我用来检索数据的代码:
class _ReadPageState extends State<ReadPage>{
String _displayText = 'results go here';
final _database = FirebaseDatabase.instance.ref();
FirebaseDatabase database = FirebaseDatabase.instance;
@override
void initState(){
super.initState();
_activateListeners();
}
void _activateListeners(){
_database.child("temperature").onValue.listen((event){
final temperature = event.snapshot.value;
setState(() {
_displayText = 'temperature= $temperature';
});
});
}
当我 运行 应用程序时,它会像这样发布实时数据库中写入的所有数据
enter image description here
既然你说你只想获取最后更新的记录,那么你拥有的最简单的解决方案是根据时间戳字段降序排列查询结果并调用.limit(1)
。排序可以在客户端完成,或者使用我以下答案中的解决方案:
我正在尝试创建一个可以实时监控传感器读数的 Android 应用程序。这是我用来检索数据的代码:
class _ReadPageState extends State<ReadPage>{
String _displayText = 'results go here';
final _database = FirebaseDatabase.instance.ref();
FirebaseDatabase database = FirebaseDatabase.instance;
@override
void initState(){
super.initState();
_activateListeners();
}
void _activateListeners(){
_database.child("temperature").onValue.listen((event){
final temperature = event.snapshot.value;
setState(() {
_displayText = 'temperature= $temperature';
});
});
}
当我 运行 应用程序时,它会像这样发布实时数据库中写入的所有数据 enter image description here
既然你说你只想获取最后更新的记录,那么你拥有的最简单的解决方案是根据时间戳字段降序排列查询结果并调用.limit(1)
。排序可以在客户端完成,或者使用我以下答案中的解决方案: