com.mongodb.reactivestreams.client.FindPublisher Java Examples
The following examples show how to use
com.mongodb.reactivestreams.client.FindPublisher.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: NewsServiceApp.java From Hands-On-Reactive-Programming-in-Spring-5 with MIT License | 6 votes |
@Bean public Action<Chain> home() { return chain -> chain.get(ctx -> { FindPublisher<News> databasePublisher = databaseNews().lookupNews(); Observable<News> httpNewsObservable = externalNews().retrieveNews(); TransformablePublisher<News> stream = Streams.merge( databasePublisher, RxReactiveStreams.toPublisher(httpNewsObservable) ); ctx.render( stream.toList() .map(Jackson::json) ); }); }
Example #2
Source File: DBPublisher.java From Hands-On-Reactive-Programming-in-Spring-5 with MIT License | 5 votes |
@Override public void subscribe(Subscriber<? super News> s) { FindPublisher<News> findPublisher = collection.find(News.class); findPublisher.sort(Sorts.descending("publishedOn")) .filter(Filters.and( Filters.eq("category", category), Filters.gt("publishedOn", today()) )) .subscribe(s); }
Example #3
Source File: MongoThingsSearchPersistence.java From ditto with Eclipse Public License 2.0 | 5 votes |
private Source<Document, NotUsed> findAllInternal(final Query query, final List<String> authorizationSubjectIds, @Nullable final Set<String> namespaces, @Nullable final Integer limit, @Nullable final Duration maxQueryTime) { checkNotNull(query, "query"); final BsonDocument queryFilter = getMongoFilter(query, authorizationSubjectIds); if (log.isDebugEnabled()) { log.debug("findAll with query filter <{}>.", queryFilter); } final Bson sortOptions = getMongoSort(query); final int skip = query.getSkip(); final Bson projection = GetSortBsonVisitor.projections(query.getSortOptions()); final FindPublisher<Document> findPublisher = collection.find(queryFilter, Document.class) .hint(hints.getHint(namespaces).orElse(null)) .sort(sortOptions) .skip(skip) .projection(projection); final FindPublisher<Document> findPublisherWithLimit = limit != null ? findPublisher.limit(limit) : findPublisher; final FindPublisher<Document> findPublisherWithMaxQueryTime = maxQueryTime != null ? findPublisherWithLimit.maxTime(maxQueryTime.getSeconds(), TimeUnit.SECONDS) : findPublisherWithLimit; return Source.fromPublisher(findPublisherWithMaxQueryTime); }
Example #4
Source File: DocumentationSamples.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 5 votes |
@Test public void testQueryingNullandMissingFields() throws Throwable { //Start Example 38 Publisher<Success> insertManyPublisher = collection.insertMany(asList( Document.parse("{'_id': 1, 'item': null}"), Document.parse("{'_id': 2}") )); // End Example 38 assertSuccess(insertManyPublisher); assertSize(collection.find(), 2); //Start Example 39 FindPublisher<Document> findPublisher = collection.find(eq("item", null)); //End Example 39 assertSize(findPublisher, 2); //Start Example 40 findPublisher = collection.find(type("item", BsonType.NULL)); //End Example 40 assertSize(findPublisher, 1); //Start Example 41 findPublisher = collection.find(exists("item", false)); //End Example 41 assertSize(findPublisher, 1); }
Example #5
Source File: DocumentationSamples.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Test public void testQueryingArraysContainingDocuments() throws Throwable { //Start Example 29 Publisher<Success> insertManyPublisher = collection.insertMany(asList( Document.parse("{ item: 'journal', instock: [ { warehouse: 'A', qty: 5 }, { warehouse: 'C', qty: 15 } ] }"), Document.parse("{ item: 'notebook', instock: [ { warehouse: 'C', qty: 5 } ] }"), Document.parse("{ item: 'paper', instock: [ { warehouse: 'A', qty: 60 }, { warehouse: 'B', qty: 15 } ] }"), Document.parse("{ item: 'planner', instock: [ { warehouse: 'A', qty: 40 }, { warehouse: 'B', qty: 5 } ] }"), Document.parse("{ item: 'postcard', instock: [ { warehouse: 'B', qty: 15 }, { warehouse: 'C', qty: 35 } ] }") )); // End Example 29 assertSuccess(insertManyPublisher); assertSize(collection.find(), 5); //Start Example 30 FindPublisher<Document> findPublisher = collection.find(eq("instock", Document.parse("{ warehouse: 'A', qty: 5 }"))); //End Example 30 assertSize(findPublisher, 1); //Start Example 31 findPublisher = collection.find(eq("instock", Document.parse("{ qty: 5, warehouse: 'A' }"))); //End Example 31 assertSize(findPublisher, 0); //Start Example 32 findPublisher = collection.find(lte("instock.0.qty", 20)); //End Example 32 assertSize(findPublisher, 3); //Start Example 33 findPublisher = collection.find(lte("instock.qty", 20)); //End Example 33 assertSize(findPublisher, 5); //Start Example 34 findPublisher = collection.find(elemMatch("instock", Document.parse("{ qty: 5, warehouse: 'A' }"))); //End Example 34 assertSize(findPublisher, 1); //Start Example 35 findPublisher = collection.find(elemMatch("instock", Document.parse("{ qty: { $gt: 10, $lte: 20 } }"))); //End Example 35 assertSize(findPublisher, 3); //Start Example 36 findPublisher = collection.find(and(gt("instock.qty", 10), lte("instock.qty", 20))); //End Example 36 assertSize(findPublisher, 4); //Start Example 37 findPublisher = collection.find(and(eq("instock.qty", 5), eq("instock.warehouse", "A"))); //End Example 37 assertSize(findPublisher, 2); }
Example #6
Source File: FindPublisherImpl.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Override public FindPublisher<TResult> hintString(final String hint) { wrapped.hintString(hint); return this; }
Example #7
Source File: MongoCollectionImpl.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Override public <TResult> FindPublisher<TResult> find(final ClientSession clientSession, final Bson filter, final Class<TResult> clazz) { return new FindPublisherImpl<TResult>(wrapped.find(clientSession.getWrapped(), filter, clazz)); }
Example #8
Source File: MongoCollectionImpl.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Override public FindPublisher<TDocument> find(final ClientSession clientSession, final Bson filter) { return find(clientSession, filter, getDocumentClass()); }
Example #9
Source File: MongoCollectionImpl.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Override public <TResult> FindPublisher<TResult> find(final ClientSession clientSession, final Class<TResult> clazz) { return find(clientSession, new BsonDocument(), clazz); }
Example #10
Source File: MongoCollectionImpl.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Override public FindPublisher<TDocument> find(final ClientSession clientSession) { return find(clientSession, new BsonDocument(), getDocumentClass()); }
Example #11
Source File: MongoCollectionImpl.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Override public <TResult> FindPublisher<TResult> find(final Bson filter, final Class<TResult> clazz) { return new FindPublisherImpl<TResult>(wrapped.find(filter, clazz)); }
Example #12
Source File: MongoCollectionImpl.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Override public FindPublisher<TDocument> find(final Bson filter) { return find(filter, getDocumentClass()); }
Example #13
Source File: MongoCollectionImpl.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Override public <TResult> FindPublisher<TResult> find(final Class<TResult> clazz) { return find(new BsonDocument(), clazz); }
Example #14
Source File: MongoCollectionImpl.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Override public FindPublisher<TDocument> find() { return find(new BsonDocument(), getDocumentClass()); }
Example #15
Source File: DocumentationSamples.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Test public void testQueryingArrayValues() throws Throwable { //Start Example 20 Publisher<Success> insertManyPublisher = collection.insertMany(asList( Document.parse("{ item: 'journal', qty: 25, tags: ['blank', 'red'], dim_cm: [ 14, 21 ] }"), Document.parse("{ item: 'notebook', qty: 50, tags: ['red', 'blank'], dim_cm: [ 14, 21 ] }"), Document.parse("{ item: 'paper', qty: 100, tags: ['red', 'blank', 'plain'], dim_cm: [ 14, 21 ] }"), Document.parse("{ item: 'planner', qty: 75, tags: ['blank', 'red'], dim_cm: [ 22.85, 30 ] }"), Document.parse("{ item: 'postcard', qty: 45, tags: ['blue'], dim_cm: [ 10, 15.25 ] }") )); // End Example 20 assertSuccess(insertManyPublisher); assertSize(collection.find(), 5); //Start Example 21 FindPublisher<Document> findPublisher = collection.find(eq("tags", asList("red", "blank"))); //End Example 21 assertSize(findPublisher, 1); //Start Example 22 findPublisher = collection.find(all("tags", asList("red", "blank"))); //End Example 22 assertSize(findPublisher, 4); //Start Example 23 findPublisher = collection.find(eq("tags", "red")); //End Example 23 assertSize(findPublisher, 4); //Start Example 24 findPublisher = collection.find(gt("dim_cm", 25)); //End Example 24 assertSize(findPublisher, 1); //Start Example 25 findPublisher = collection.find(and(gt("dim_cm", 15), lt("dim_cm", 20))); //End Example 25 assertSize(findPublisher, 4); //Start Example 26 findPublisher = collection.find(elemMatch("dim_cm", Document.parse("{ $gt: 22, $lt: 30 }"))); //End Example 26 assertSize(findPublisher, 1); //Start Example 27 findPublisher = collection.find(gt("dim_cm.1", 25)); //End Example 27 assertSize(findPublisher, 1); //Start Example 28 findPublisher = collection.find(size("tags", 3)); //End Example 28 assertSize(findPublisher, 1); }
Example #16
Source File: DocumentationSamples.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Test public void testQueryingEmbeddedDocuments() throws Throwable { // Start Example 14 Publisher<Success> insertManyPublisher = collection.insertMany(asList( Document.parse("{ item: 'journal', qty: 25, size: { h: 14, w: 21, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'notebook', qty: 50, size: { h: 8.5, w: 11, uom: 'in' }, status: 'A' }"), Document.parse("{ item: 'paper', qty: 100, size: { h: 8.5, w: 11, uom: 'in' }, status: 'D' }"), Document.parse("{ item: 'planner', qty: 75, size: { h: 22.85, w: 30, uom: 'cm' }, status: 'D' }"), Document.parse("{ item: 'postcard', qty: 45, size: { h: 10, w: 15.25, uom: 'cm' }, status: 'A' }") )); // End Example 14 assertSuccess(insertManyPublisher); assertSize(collection.find(), 5); // Start Example 15 FindPublisher<Document> findPublisher = collection.find(eq("size", Document.parse("{ h: 14, w: 21, uom: 'cm' }"))); // End Example 15 assertSize(findPublisher, 1); // Start Example 16 findPublisher = collection.find(eq("size", Document.parse("{ w: 21, h: 14, uom: 'cm' }"))); // End Example 16 assertSize(findPublisher, 0); // Start Example 17 findPublisher = collection.find(eq("size.uom", "in")); // End Example 17 assertSize(findPublisher, 2); // Start Example 18 findPublisher = collection.find(lt("size.h", 15)); // End Example 18 assertSize(findPublisher, 4); // Start Example 19 findPublisher = collection.find(and( lt("size.h", 15), eq("size.uom", "in"), eq("status", "D") )); // End Example 19 assertSize(findPublisher, 1); }
Example #17
Source File: DocumentationSamples.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Test public void testQueryingAtTheTopLevel() throws Throwable { // Start Example 6 Publisher<Success> insertManyPublisher = collection.insertMany(asList( Document.parse("{ item: 'journal', qty: 25, size: { h: 14, w: 21, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'notebook', qty: 50, size: { h: 8.5, w: 11, uom: 'in' }, status: 'A' }"), Document.parse("{ item: 'paper', qty: 100, size: { h: 8.5, w: 11, uom: 'in' }, status: 'D' }"), Document.parse("{ item: 'planner', qty: 75, size: { h: 22.85, w: 30, uom: 'cm' }, status: 'D' }"), Document.parse("{ item: 'postcard', qty: 45, size: { h: 10, w: 15.25, uom: 'cm' }, status: 'A' }") )); // End Example 6 assertSuccess(insertManyPublisher); assertSize(collection.find(), 5); // Start Example 7 FindPublisher<Document> findPublisher = collection.find(new Document()); // End Example 7 assertSize(findPublisher, 5); // Start Example 8 findPublisher = collection.find(); // End Example 8 assertSize(findPublisher, 5); // Start Example 9 findPublisher = collection.find(eq("status", "D")); // End Example 9 assertSize(findPublisher, 2); // Start Example 10 findPublisher = collection.find(in("status", "A", "D")); // End Example 10 assertSize(findPublisher, 5); // Start Example 11 findPublisher = collection.find(and(eq("status", "A"), lt("qty", 30))); // End Example 11 assertSize(findPublisher, 1); // Start Example 12 findPublisher = collection.find(or(eq("status", "A"), lt("qty", 30))); // End Example 12 assertSize(findPublisher, 3); // Start Example 13 findPublisher = collection.find( and(eq("status", "A"), or(lt("qty", 30), regex("item", "^p"))) ); // End Example 13 assertSize(findPublisher, 2); }
Example #18
Source File: DocumentationSamples.java From mongo-java-driver-reactivestreams with Apache License 2.0 | 4 votes |
@Test public void testInsert() throws Throwable { // Start Example 1 Document canvas = new Document("item", "canvas") .append("qty", 100) .append("tags", singletonList("cotton")); Document size = new Document("h", 28) .append("w", 35.5) .append("uom", "cm"); canvas.put("size", size); Publisher<Success> insertOnePublisher = collection.insertOne(canvas); // End Example 1 assertSuccess(insertOnePublisher); // Start Example 2 FindPublisher<Document> findPublisher = collection.find(eq("item", "canvas")); // End Example 2 assertSize(findPublisher, 1); // Start Example 3 Document journal = new Document("item", "journal") .append("qty", 25) .append("tags", asList("blank", "red")); Document journalSize = new Document("h", 14) .append("w", 21) .append("uom", "cm"); journal.put("size", journalSize); Document mat = new Document("item", "mat") .append("qty", 85) .append("tags", singletonList("gray")); Document matSize = new Document("h", 27.9) .append("w", 35.5) .append("uom", "cm"); mat.put("size", matSize); Document mousePad = new Document("item", "mousePad") .append("qty", 25) .append("tags", asList("gel", "blue")); Document mousePadSize = new Document("h", 19) .append("w", 22.85) .append("uom", "cm"); mousePad.put("size", mousePadSize); Publisher<Success> insertManyPublisher = collection.insertMany(asList(journal, mat, mousePad)); // End Example 3 assertSuccess(insertManyPublisher); assertSize(collection.find(), 4); }
Example #19
Source File: ReactiveMongoCollectionImpl.java From quarkus with Apache License 2.0 | 4 votes |
private <D> FindPublisher<D> apply(FindOptions options, FindPublisher<D> publisher) { if (options == null) { return publisher; } return options.apply(publisher); }
Example #20
Source File: FindOptions.java From quarkus with Apache License 2.0 | 4 votes |
public <T> FindPublisher<T> apply(FindPublisher<T> stream) { FindPublisher<T> publisher = stream; if (filter != null) { publisher = publisher.filter(filter); } if (limit > 0) { publisher = publisher.limit(limit); } if (skip > 0) { publisher = publisher.skip(skip); } if (maxTime > 0) { publisher = publisher.maxTime(maxTime, maxTimeUnit); } if (maxAwaitTime > 0) { publisher = publisher.maxAwaitTime(maxAwaitTime, maxAwaitTimeUnit); } if (projection != null) { publisher = publisher.projection(projection); } if (sort != null) { publisher = publisher.sort(sort); } if (noCursorTimeout) { publisher = publisher.noCursorTimeout(true); } if (oplogReplay) { publisher = publisher.oplogReplay(true); } if (partial) { publisher = publisher.partial(true); } if (cursorType != null) { publisher = publisher.cursorType(cursorType); } if (collation != null) { publisher = publisher.collation(collation); } if (comment != null) { publisher = publisher.comment(comment); } if (hint != null) { publisher = publisher.hint(hint); } if (max != null) { publisher = publisher.max(max); } if (min != null) { publisher = publisher.min(min); } if (returnKey) { publisher = publisher.returnKey(true); } if (showRecordId) { publisher = publisher.showRecordId(true); } return publisher; }
Example #21
Source File: NewsServiceApp.java From Hands-On-Reactive-Programming-in-Spring-5 with MIT License | votes |
FindPublisher<News> lookupNews();