Example usage for com.mongodb.client.model CreateCollectionOptions CreateCollectionOptions

List of usage examples for com.mongodb.client.model CreateCollectionOptions CreateCollectionOptions

Introduction

In this page you can find the example usage for com.mongodb.client.model CreateCollectionOptions CreateCollectionOptions.

Prototype

CreateCollectionOptions

Source Link

Usage

From source file:org.springframework.data.mongodb.core.ReactiveMongoTemplate.java

License:Apache License

public Mono<MongoCollection<Document>> createCollection(final String collectionName) {
    return doCreateCollection(collectionName, new CreateCollectionOptions());
}

From source file:org.springframework.data.mongodb.core.ReactiveMongoTemplate.java

License:Apache License

protected CreateCollectionOptions convertToCreateCollectionOptions(CollectionOptions collectionOptions) {

    CreateCollectionOptions result = new CreateCollectionOptions();
    if (collectionOptions != null) {

        if (collectionOptions.getCapped() != null) {
            result = result.capped(collectionOptions.getCapped());
        }/*from  w  w  w . j av  a  2  s .  com*/

        if (collectionOptions.getSize() != null) {
            result = result.sizeInBytes(collectionOptions.getSize());
        }

        if (collectionOptions.getMaxDocuments() != null) {
            result = result.maxDocuments(collectionOptions.getMaxDocuments());
        }
    }
    return result;
}

From source file:tour.NewQuickTour.java

License:Apache License

/**
 * Run this main method to see the output of this quick example.
 *
 * @param args takes an optional single argument for the connection string
 *//*from  ww  w. j a v a 2  s  . c om*/
public static void main(final String[] args) {
    MongoClient mongoClient;

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

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

    database.drop();

    // get a list of the collections in this database and print them out
    List<String> collectionNames = database.listCollectionNames().into(new ArrayList<String>());
    for (final String s : collectionNames) {
        System.out.println(s);
    }

    // get a handle to the "test" collection
    MongoCollection<Document> collection = database.getCollection("test");

    // drop all the data in it
    collection.drop();

    // make a document and insert it
    Document doc = new Document("name", "MongoDB").append("type", "database").append("count", 1).append("info",
            new Document("x", 203).append("y", 102));

    collection.insertOne(doc);

    // get it (since it's the only one in there since we dropped the rest earlier on)
    Document myDoc = collection.find().first();
    System.out.println(myDoc);

    // now, lets add lots of little documents to the collection so we can explore queries and cursors
    List<Document> documents = new ArrayList<Document>();
    for (int i = 0; i < 100; i++) {
        documents.add(new Document("i", i));
    }
    collection.insertMany(documents);
    System.out.println(
            "total # of documents after inserting 100 small ones (should be 101) " + collection.count());

    // lets get all the documents in the collection and print them out
    MongoCursor<Document> cursor = collection.find().iterator();
    try {
        while (cursor.hasNext()) {
            System.out.println(cursor.next());
        }
    } finally {
        cursor.close();
    }

    for (Document cur : collection.find()) {
        System.out.println(cur);
    }

    // now use a query to get 1 document out
    myDoc = collection.find(eq("i", 71)).first();
    System.out.println(myDoc);

    // now use a range query to get a larger subset
    cursor = collection.find(gt("i", 50)).iterator();

    try {
        while (cursor.hasNext()) {
            System.out.println(cursor.next());
        }
    } finally {
        cursor.close();
    }

    // range query with multiple constraints
    cursor = collection.find(and(gt("i", 50), lte("i", 100))).iterator();

    try {
        while (cursor.hasNext()) {
            System.out.println(cursor.next());
        }
    } finally {
        cursor.close();
    }

    // max time
    collection.find().maxTime(1, TimeUnit.SECONDS).first();

    collection.drop();

    // ordered bulk writes
    List<WriteModel<Document>> writes = new ArrayList<WriteModel<Document>>();
    writes.add(new InsertOneModel<Document>(new Document("_id", 4)));
    writes.add(new InsertOneModel<Document>(new Document("_id", 5)));
    writes.add(new InsertOneModel<Document>(new Document("_id", 6)));
    writes.add(
            new UpdateOneModel<Document>(new Document("_id", 1), new Document("$set", new Document("x", 2))));
    writes.add(new DeleteOneModel<Document>(new Document("_id", 2)));
    writes.add(new ReplaceOneModel<Document>(new Document("_id", 3), new Document("_id", 3).append("x", 4)));

    collection.bulkWrite(writes);

    collection.drop();

    collection.bulkWrite(writes, new BulkWriteOptions().ordered(false));

    // getting a list of databases
    for (String name : mongoClient.listDatabaseNames()) {
        System.out.println(name);
    }

    // drop a database
    mongoClient.dropDatabase("databaseToBeDropped");

    // create a collection
    database.createCollection("cappedCollection",
            new CreateCollectionOptions().capped(true).sizeInBytes(0x100000));

    for (String name : database.listCollectionNames()) {
        System.out.println(name);
    }

    // create an ascending index on the "i" field
    collection.createIndex(new Document("i", 1));

    // list the indexes on the collection
    for (final Document index : collection.listIndexes()) {
        System.out.println(index);
    }

    // create a text index on the "content" field
    collection.createIndex(new Document("content", "text"));

    collection.insertOne(new Document("_id", 0).append("content", "textual content"));
    collection.insertOne(new Document("_id", 1).append("content", "additional content"));
    collection.insertOne(new Document("_id", 2).append("content", "irrelevant content"));

    // Find using the text index
    Document search = new Document("$search", "textual content -irrelevant");
    Document textSearch = new Document("$text", search);
    long matchCount = collection.count(textSearch);
    System.out.println("Text search matches: " + matchCount);

    // Find using the $language operator
    textSearch = new Document("$text", search.append("$language", "english"));
    matchCount = collection.count(textSearch);
    System.out.println("Text search matches (english): " + matchCount);

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

    // release resources
    mongoClient.close();
}

From source file:tour.QuickTourAdmin.java

License:Apache License

/**
 * 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
 *///from   w  ww . ja  v  a2s. c  o  m
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");
    TestSubscriber subscriber = new TestSubscriber<Success>();
    collection.drop().subscribe(subscriber);
    subscriber.awaitTerminalEvent();

    // getting a list of databases
    mongoClient.listDatabaseNames().subscribe(printSubscriber("Database Names: "));

    // drop a database
    mongoClient.getDatabase("databaseToBeDropped").drop().toBlocking().single();

    // create a collection
    database.createCollection("cappedCollection",
            new CreateCollectionOptions().capped(true).sizeInBytes(0x100000))
            .subscribe(printSubscriber("Collection Created! "));

    database.listCollectionNames().subscribe(printSubscriber("Collection Names: "));

    // drop a collection:
    collection.drop().toBlocking().single();

    // create an ascending index on the "i" field
    collection.createIndex(new Document("i", 1)).subscribe(printSubscriber("Created an index named: "));

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

    // create a text index on the "content" field
    subscriber = printSubscriber("Created an index named: ");
    collection.createIndex(new Document("content", "text")).subscribe(subscriber);
    subscriber.awaitTerminalEvent();

    subscriber = new TestSubscriber();
    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.awaitTerminalEvent();

    // Find using the text index
    subscriber = printSubscriber("Text search matches: ");
    collection.count(text("textual content -irrelevant")).subscribe(subscriber);
    subscriber.awaitTerminalEvent();

    // Find using the $language operator
    subscriber = printSubscriber("Text search matches (english): ");
    Bson textSearch = text("textual content -irrelevant", "english");
    collection.count(textSearch).subscribe(subscriber);
    subscriber.awaitTerminalEvent();

    // 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(printDocumentSubscriber());

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

    // release resources
    subscriber = new TestSubscriber();
    database.drop().subscribe(subscriber);
    subscriber.awaitTerminalEvent();
    mongoClient.close();
}