List of usage examples for com.mongodb.client.model Updates setOnInsert
public static <TItem> Bson setOnInsert(final String fieldName, @Nullable final TItem value)
From source file:com.exorath.exodata.impl.IExoDocument.java
License:Apache License
@Override public Observable<Document> fetch(Bson projection) { return Observable.create((subscriber -> { FindOneAndUpdateOptions options = new FindOneAndUpdateOptions().upsert(true) .returnDocument(ReturnDocument.AFTER).projection(projection); document = (Document) collection.findOneAndUpdate(getIdQuery(), Updates.setOnInsert("_id", getId().toString()), options); if (document != null) subscriber.onNext(document); subscriber.onCompleted();/*from w w w. j a va 2 s. com*/ })).subscribeOn(Schedulers.io()).cast(Document.class); }