Java MongoDB : Get collection from database
In Java, you can use db.getCollection(“your collection name”) to get a single collection to use.
DBCollection collection = db.getCollection("yourCollection");
If you do not know the collection name, use db.getCollectionNames() to get the entire list of collection names from a selected database.
DB db = mongo.getDB("yourdb");
Set<String> collections = db.getCollectionNames();
for (String collectionName : collections) {
System.out.println(collectionName);
}
If “yourdb” contains the collection name “yourCollection”, then you will see the following result :
system.indexes //system collection
system.users //system colection
yourCollection
Full example to get collection from MongoDB, via Java driver.
package com.mkyong.core;
import java.net.UnknownHostException;
import java.util.Set;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
/**
* Java : Get collection from MongoDB
*
*/
public class GetCollectionApp {
public static void main(String[] args) {
try {
Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("yourdb");
// get list of collections
Set<String> collections = db.getCollectionNames();
for (String collectionName : collections) {
System.out.println(collectionName);
}
// get a single collection
DBCollection collection = db.getCollection("yourCollection");
System.out.println(collection.toString());
System.out.println("Done");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
}
getDB() is deprecated, so kindly update the post
I am new in java,
i want to know , which one is best to store the records in collection arraylist or linkedlist from database
Depende de lo que quieras hacer, ArrayList si vas acceder mucho a los registros pues es O(1) mientras que en la listas es O(n/4), pero si vas a acceder a la cabeza o cola será igual O(1), el problema de el ArrayList es que es un arreglo dinámico pero por ser arreglo cada vez que se llene y no tenga memoria adyacente la inserción es O(n) pues tiene que copiar todo el arreglo a un sitio de la memoria donde pueda entrar el arreglo junto, aunque en promedio en O(1). Las listas también tienen la desventaja de los apuntadores, que dependiendo pueden ser un lio en la sobrecarga de memoria por los apuntadores que se crean pero solo es un problema si son muchos nodos creados y en estas siempre insertar es de O(1).
Así que sólo debes ver que es lo que vas a hacer y basar en eso tu decisión.
Si vas empezando pues experimenta con los dos y ya cuando utilices datos grandes puedes un día revisar el uso de memoria
getCollection(“”) method is now deprecated. Do we have an alternative?
bonsoir, svp aidez moi à resoudre ce probleme: Dans ma Base de Données (MongoDB) j’ai deux tables. La premiere table est celle de Country et la seconde table est celle de Languages.Dans la table Country j’ai inseré comme exemple (Canada:English ,Frensh et France:Frensh) et dans la table Languages j’ai inseré seulement comme exemple(English et Frensh).Ma question est que comment creer une classe qui va me permettre de selectionner dans la table Language comme exemple (Frensh) et me donne la liste de tous les Country qui parle le (Frensh tel que Canada et France qui se trouve la table Country)?