Java Code Examples for com.mongodb.reactivestreams.client.MongoDatabase#getCollection()

The following examples show how to use com.mongodb.reactivestreams.client.MongoDatabase#getCollection() . 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: MongoSink.java    From pulsar with Apache License 2.0 6 votes vote down vote up
@Override
public void open(Map<String, Object> config, SinkContext sinkContext) throws Exception {
    log.info("Open MongoDB Sink");

    mongoConfig = MongoConfig.load(config);
    mongoConfig.validate(true, true);

    if (clientProvider != null) {
        mongoClient = clientProvider.get();
    } else {
        mongoClient = MongoClients.create(mongoConfig.getMongoUri());
    }

    final MongoDatabase db = mongoClient.getDatabase(mongoConfig.getDatabase());
    collection = db.getCollection(mongoConfig.getCollection());

    incomingList = Lists.newArrayList();
    flushExecutor = Executors.newScheduledThreadPool(1);
    flushExecutor.scheduleAtFixedRate(() -> flush(),
            mongoConfig.getBatchTimeMs(), mongoConfig.getBatchTimeMs(), TimeUnit.MILLISECONDS);
}
 
Example 2
Source File: GuildsCollection.java    From Shadbot with GNU General Public License v3.0 4 votes vote down vote up
public GuildsCollection(MongoDatabase database) {
    super(database.getCollection(GuildsCollection.NAME));
}
 
Example 3
Source File: PremiumCollection.java    From Shadbot with GNU General Public License v3.0 4 votes vote down vote up
public PremiumCollection(MongoDatabase database) {
    super(database.getCollection(PremiumCollection.NAME));
}
 
Example 4
Source File: UsersCollection.java    From Shadbot with GNU General Public License v3.0 4 votes vote down vote up
public UsersCollection(MongoDatabase database) {
    super(database.getCollection(UsersCollection.NAME));
}
 
Example 5
Source File: LotteryCollection.java    From Shadbot with GNU General Public License v3.0 4 votes vote down vote up
public LotteryCollection(MongoDatabase database) {
    super(database.getCollection(LotteryCollection.NAME));
}
 
Example 6
Source File: MongoThingsSearchUpdaterPersistence.java    From ditto with Eclipse Public License 2.0 4 votes vote down vote up
private MongoThingsSearchUpdaterPersistence(final MongoDatabase database) {
    collection = database.getCollection(PersistenceConstants.THINGS_COLLECTION_NAME);
}
 
Example 7
Source File: ReactiveStreamsMongoLockProvider.java    From ShedLock with Apache License 2.0 4 votes vote down vote up
/**
 * Uses Mongo to coordinate locks
 */
public ReactiveStreamsMongoLockProvider(@NonNull MongoDatabase mongoDatabase) {
    this(mongoDatabase.getCollection(DEFAULT_SHEDLOCK_COLLECTION_NAME));
}
 
Example 8
Source File: QuickTourAdmin.java    From mongo-java-driver-reactivestreams with Apache License 2.0 4 votes vote down vote up
/**
 * Run this main method to see the output of this quick example.
 *
 * @param args takes an optional single argument for the connection string
 * @throws Throwable if an operation fails
 */
public static void main(final String[] args) throws Throwable {
    MongoClient mongoClient;

    if (args.length == 0) {
        // connect to the local database server
        mongoClient = MongoClients.create();
    } else {
        mongoClient = MongoClients.create(args[0]);
    }

    // get handle to "mydb" database
    MongoDatabase database = mongoClient.getDatabase("mydb");


    // get a handle to the "test" collection
    MongoCollection<Document> collection = database.getCollection("test");
    ObservableSubscriber subscriber = new ObservableSubscriber<Success>();
    collection.drop().subscribe(subscriber);
    subscriber.await();

    // getting a list of databases
    mongoClient.listDatabaseNames().subscribe(new PrintSubscriber<String>("Database Names: %s"));

    // drop a database
    subscriber = new ObservableSubscriber<Success>();
    mongoClient.getDatabase("databaseToBeDropped").drop().subscribe(subscriber);
    subscriber.await();

    // create a collection
    database.createCollection("cappedCollection", new CreateCollectionOptions().capped(true).sizeInBytes(0x100000))
                .subscribe(new PrintSubscriber<Success>("Creation Created!"));


    database.listCollectionNames().subscribe(new PrintSubscriber<String>("Collection Names: %s"));

    // drop a collection:
    subscriber = new ObservableSubscriber<Success>();
    collection.drop().subscribe(subscriber);
    subscriber.await();

    // create an ascending index on the "i" field
    collection.createIndex(new Document("i", 1)).subscribe(new PrintSubscriber<String>("Created an index named: %s"));

    // list the indexes on the collection
    collection.listIndexes().subscribe(new PrintDocumentSubscriber());


    // create a text index on the "content" field
    subscriber = new PrintSubscriber<String>("Created an index named: %s");
    collection.createIndex(new Document("content", "text")).subscribe(subscriber);
    subscriber.await();

    subscriber = new OperationSubscriber();
    collection.insertMany(asList(new Document("_id", 0).append("content", "textual content"),
            new Document("_id", 1).append("content", "additional content"),
            new Document("_id", 2).append("content", "irrelevant content"))).subscribe(subscriber);
    subscriber.await();

    // Find using the text index
    subscriber = new PrintSubscriber("Text search matches: %s");
    collection.countDocuments(text("textual content -irrelevant")).subscribe(subscriber);
    subscriber.await();

    // Find using the $language operator
    subscriber = new PrintSubscriber("Text search matches (english): %s");
    Bson textSearch = text("textual content -irrelevant", new TextSearchOptions().language("english"));
    collection.countDocuments(textSearch).subscribe(subscriber);
    subscriber.await();

    // Find the highest scoring match
    System.out.print("Highest scoring document: ");
    Document projection = new Document("score", new Document("$meta", "textScore"));
    collection.find(textSearch).projection(projection).first().subscribe(new PrintDocumentSubscriber());


    // Run a command
    database.runCommand(new Document("buildInfo", 1)).subscribe(new PrintDocumentSubscriber());

    // release resources
    subscriber = new OperationSubscriber();
    database.drop().subscribe(subscriber);
    subscriber.await();
    mongoClient.close();
}
 
Example 9
Source File: MongoSearchUpdaterFlow.java    From ditto with Eclipse Public License 2.0 2 votes vote down vote up
/**
 * Create a MongoSearchUpdaterFlow object.
 *
 * @param database the MongoDB database.
 * @return the MongoSearchUpdaterFlow object.
 */
public static MongoSearchUpdaterFlow of(final MongoDatabase database) {
    return new MongoSearchUpdaterFlow(database.getCollection(THINGS_COLLECTION_NAME));
}