create method
FutureOr<CreateDbResult>
create(
- Access access
)
Implementation
@override
FutureOr<CreateDbResult> create(Access access) async {
if (access.data == null) {
throw ArgumentError("Create calling without Access.data");
}
if (access.settings != null && access.settings is! MongoDbCreateSettings) {
throw ArgumentError(
"Create settings must be null or MongoDbCreateSettings");
}
var settings = access.settings as MongoDbCreateSettings?;
if (access.data is List) {
for (var d in access.data as List) {
d["_id"] ??= ObjectId().toJson();
}
await db.collection(access.collection).insertAll(
(access.data as List).cast<Map<String, dynamic>>(),
writeConcern: settings?.writeConcern);
return CreateDbResult(identifier: null);
} else {
access.data!["_id"] ??= ObjectId().toJson();
/*var res = */
await db
.collection(access.collection)
.insert(access.data!, writeConcern: settings?.writeConcern);
// print("CREATE DB: $res");
return CreateDbResult(identifier: null);
}
}