updateSync method
List<Blob>
updateSync({
- required QueryBuilder query(
- Collection collection
- Map<
String, dynamic> ? metadata, - Uint8List? bytes,
Implementation
List<Blob> updateSync({
required QueryBuilder Function(Collection collection) query,
Map<String, dynamic>? metadata,
Uint8List? bytes,
}) {
final rows = query(_collection).getSync();
final updatedBlobs = <Blob>[];
for (var row in rows) {
Document? updatedRow = row;
if (metadata != null && metadata.isNotEmpty) {
final data = {...row.data, ...metadata};
final tempUpdatedRow = _collection.updateByIdSync(row.id, data);
if (tempUpdatedRow == null) continue;
updatedRow = tempUpdatedRow;
}
if (bytes != null && bytes.isNotEmpty) {
_blobDiskDriver.updateChunksSync(row.id, bytes, _chunksSize);
}
updatedBlobs.add(
Blob(id: updatedRow.id, metadata: updatedRow, blobDiskDriver: _blobDiskDriver),
);
}
return updatedBlobs;
}