public V create(final V value, final long maxTime, final TimeUnit timeUnit) { final K key = keyOf(value); if (key != null) { final Document doc = encode(value); collectionWithWriteTimeout(maxTime, timeUnit).insertOne(doc); return decode(doc); } else { throw new NullPointerException("Key must not be null"); } }
public V create(final V value) { Document doc = encode(value); collection().insertOne(doc); return decode(doc); }
public V create(final V value, final long maxTime, final TimeUnit timeUnit) { final K key = keyOf(value); if (key != null) { final Document doc = encode(value); collectionWithWriteTimeout(maxTime, timeUnit).insertOne(doc); return decode(doc); } else { throw new NullPointerException("Key must not be null"); } }
public V createOrUpdate(final V value, final long maxTime, final TimeUnit timeUnit) { final Document doc = encode(value); collectionWithWriteTimeout(maxTime, timeUnit) .replaceOne(byId(keyOf(value)), doc, new UpdateOptions().upsert(true)); return decode(doc); }
public V createOrUpdate(final V value, final long maxTime, final TimeUnit timeUnit) { final Document doc = encode(value); collectionWithWriteTimeout(maxTime, timeUnit) .replaceOne(byId(keyOf(value)), doc, new ReplaceOptions().upsert(true)); return decode(doc); }
public V createOrUpdate(final V value) { final K key = keyOf(value); final Document existing = collection().find(byId(key)).first(); Document doc = encode(value); if (existing != null) { collection().replaceOne(byId(key), doc); } else { collection().insertOne(doc); } return decode(doc); }