1

我们如何在 SQLite 数据库中存储嵌套的 JSON 对象。在 Android Room 中,我们曾经使用EmbeddedRelation来存储和检索复杂的数据对象。但是在颤振中,我们怎样才能达到同样的效果呢?我尝试探索sqflitefloormoor。但似乎没有任何帮助,除了 Moor,它允许我们使用 Joins 将值映射到 Object。类似于下面的代码。

  Stream<List<TaskWithTag>> watchAllTasks() {
return (select(tasks)
      ..orderBy(
        [
          (t) =>
              OrderingTerm(expression: t.dueDate, mode: OrderingMode.desc),
          (t) => OrderingTerm(expression: t.name),
        ],
      ))
    .join(
      [
        leftOuterJoin(tags, tags.name.equalsExp(tasks.tagName)),
      ],
    )
    .watch()
    .map((rows) => rows.map(
          (row) {
            return TaskWithTag(
              task: row.readTable(tasks),
              tag: row.readTable(tags),
            );
          },
        ).toList());

}

那么究竟什么是正确的方法呢?

4

0 回答 0