如何在 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);
}
我使用 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);
}