insert method
Inserts a new document into the collection, failing if the document already exists.
Implementation
Future<MutationResult> insert(
String key,
Object? value, [
InsertOptions? options,
]) async {
options ??= const InsertOptions();
final id = _documentId(key);
final expiry = options.expiry ?? Duration.zero;
final timeout = _mutationTimeout(options);
final encodedData = _encodeDocument(options, value);
final response = options.usesLegacyDurability
? await _connection.insertWithLegacyDurability(
InsertWithLegacyDurability(
id: id,
value: encodedData.bytes,
flags: encodedData.flags,
expiry: expiry.inSeconds,
timeout: timeout,
persistTo: options.durabilityPersistTo,
replicateTo: options.durabilityReplicateTo,
partition: 0,
opaque: 0,
),
)
: await _connection.insert(
InsertRequest(
id: id,
value: encodedData.bytes,
flags: encodedData.flags,
expiry: expiry.inSeconds,
timeout: timeout,
durabilityLevel: options.durabilityLevel,
partition: 0,
opaque: 0,
),
);
return MutationResult(
cas: response.cas,
token: response.token,
);
}