如何在 objectbox flutter 中更新数据

How to update data in objectbox flutter

我使用 ObjectBox 来存储数据。但是如何更新相同的数据。在文档中,它说它将更新数据。但是当我传递带有一些新细节的旧笔记时,它会创建新笔记。

 Future<int> createNotes(Note note) async {
    var store = await BoxStore.getStore();
    var box = store.box<Note>();
    int id = box.put(note);
    print('note id: $id');
    store.close();
    return id;
  }

谢谢

您提供的代码看起来像是在创建一个新笔记。

如果在其内部 table 键中找到字段 id,ObjectBox 会更新一条记录,否则会创建一条新记录。因此,要么在从 ObjectBox 获取注释时将注释 id 存储在 Note note 中并在更新时使用它,要么如果您使用某种自己的 id,那么 - 在存储时 - 首先通过创建获取 ObjectBox 内部 id查询您自己的 ID 并使用此 ID put 将注释作为更新

要更新某些列或组,请使用放置示例:

var query2 = _stores.box<Documentos>().query(Documentos_.numero.oneOf(send)).build();

for (var w in query2.find().toList()) {
      w.enviado = 1;
      _stores.box<Documentos>().put(w);
}