delete method
FutureOr<DeleteDbResult>
delete(
- Access access
)
Implementation
@override
FutureOr<DeleteDbResult> delete(Access access) async {
if (access.query == null) {
throw ArgumentError("Delete calling without Access.query");
}
if (access.settings != null && access.settings is! MongoDbDeleteSettings) {
throw ArgumentError(
"Delete settings must be null or MongoDbDeleteSettings");
}
var settings = access.settings as MongoDbDeleteSettings?;
if (settings?.many ?? false) {
await db.collection(access.collection).deleteMany(buildQuery(access),
writeConcern: settings?.writeConcern,
collation: settings?.collation,
hint: settings?.hint,
hintDocument: settings?.hintDocument);
return DeleteDbResult(exists: true);
} else {
/*var res =*/
await db.collection(access.collection).deleteOne(buildQuery(access),
writeConcern: settings?.writeConcern,
collation: settings?.collation,
hint: settings?.hint,
hintDocument: settings?.hintDocument);
/*print("Delete DB: ${res.serverResponses}");*/
return DeleteDbResult(exists: true);
}
}