Example usage for com.mongodb.client MongoDatabase listCollectionNames

List of usage examples for com.mongodb.client MongoDatabase listCollectionNames

Introduction

In this page you can find the example usage for com.mongodb.client MongoDatabase listCollectionNames.

Prototype

MongoIterable<String> listCollectionNames();

Source Link

Document

Gets the names of all the collections in this database.

Usage

From source file:org.restheart.db.DatabaseImpl.java

License:Open Source License

/**
 *
 * @param cs the client session/*from  w w  w . ja  va  2s .c o  m*/
 * @param dbName the database name of the collection
 * @return A ordered List of collection names
 */
@Override
public List<String> getCollectionNames(final ClientSession cs, final String dbName) {
    MongoDatabase db = getDatabase(dbName);

    List<String> _colls = new ArrayList<>();

    if (cs == null) {
        db.listCollectionNames().into(_colls);
    } else {
        db.listCollectionNames(cs).into(_colls);
    }

    // filter out reserved dbs
    return _colls.stream().filter(coll -> !RequestContext.isReservedResourceCollection(coll)).sorted()
            .collect(Collectors.toList());
}

From source file:org.restheart.db.DbsDAO.java

License:Open Source License

/**
 *
 * @return A ordered List of collection names
 *//*w  w  w.ja va 2 s . c  o  m*/
@Override
public List<String> getCollectionNames(String dbName) {
    MongoDatabase db = getDatabase(dbName);

    List<String> _colls = new ArrayList<>();

    db.listCollectionNames().into(_colls);

    // filter out reserved dbs
    return _colls.stream().filter(coll -> !RequestContext.isReservedResourceCollection(coll)).sorted()
            .collect(Collectors.toList());
}

From source file:org.restheart.security.impl.DbIdentityManager.java

License:Open Source License

/**
 *
 * @param arguments/*from w w  w  .  jav  a  2 s .  com*/
 * @throws java.io.FileNotFoundException
 */
public DbIdentityManager(Map<String, Object> arguments) throws FileNotFoundException {
    init(arguments, "dbim");

    if (this.cacheEnabled) {
        this.cache = CacheFactory.createLocalLoadingCache(this.cacheSize, this.cacheExpirePolicy, this.cacheTTL,
                (String key) -> {
                    return this.findAccount(key);
                });
    }

    MongoClient mongoClient = MongoDBClientSingleton.getInstance().getClient();

    ArrayList<String> dbNames = new ArrayList<>();

    mongoClient.listDatabaseNames().into(dbNames);

    if (!dbNames.contains(this.db)) {
        throw new IllegalArgumentException(
                "error configuring the DbIdentityManager. The specified db does not exist: " + db);
    }

    MongoDatabase mongoDb = mongoClient.getDatabase(this.db);

    ArrayList<String> collectionNames = new ArrayList<>();

    mongoDb.listCollectionNames().into(collectionNames);

    if (!collectionNames.contains(this.coll)) {
        throw new IllegalArgumentException(
                "error configuring the DbIdentityManager. The specified collection does not exist: " + coll);
    }

    this.mongoColl = mongoDb.getCollection(coll, BsonDocument.class);
}

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 w  w  w .  j  av  a  2 s  .c  o m
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();
}