flutter - 如何根据 ID 在 Sembast 中加载单个条目?
问题描述
我浏览了 一堆Sembast的教程。教程提供了有关如何获取某个类(如 Cake)的所有项目的示例,但没有提供如何根据其 ID 加载特定项目的示例:
@override
Future<List<Cake>> getAllCakes() async {
final snapshots = await _store.find(_database);
return snapshots
.map((snapshot) => Cake.fromMap(snapshot.key, snapshot.value))
.toList(growable: false);
}
如何为给定 ID 批量分配一个蛋糕?
解决方案
您可以使用store.record(key).get(db)
假设您的密钥是一个 int,这可能如下所示:
Future<Cake> getCake(int key) async {
final snapshot = await _store.record(key).getSnapshot(_database);
return snapshot != null ? Cake.fromMap(key, snapshot.value) : null;
}
更多信息(是的文档不是很好)在这里
推荐阅读
- python - 三角表达式中的 Sympy Collect()
- nosql - 如何使用 Oracle NoSQL 数据库云服务 Python SDK 将 TTL 添加到现有表?
- angular - 如何使自定义 AsyncValidatorFn 仅在用户输入完数据后才运行
- swift - swift 常量推断为具有类型 (),这可能是出乎意料的
- sql - (HIVE)如何按日期过滤,过去 30 天?
- reactjs - 在开关不起作用时将 Material UI 标签更改为白色
- pandas - 如何为日期时间值设置两周间隔
- c - 为什么我的汇编代码比 C 实现慢得多
- aws-lambda - 如果您设置了 Lambda 内存参数,AWS Lambda 是否会自动设置 Java Heap Memory -Xmx 设置?
- css - 绘制虚线矩形以显示键盘焦点元素的 css 属性的名称是什么?