English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste capítulo, vamos aprender como configurar o MongoDB CLIENT.
Antes de começar a usar MongoDB em programas Java, é necessário garantir que o MongoDB CLIENT e o Java estejam configurados no computador. Você pode seguir o tutorial Java para instalar o Java no computador. Agora, vamos verificar como configurar o MongoDB CLIENT.
Você precisa baixar o jar mongodb-driver-3.11.2.jar e suas dependências mongodb-driver-core-3.11.2.jar.
Certifique-se de baixar as versões mais recentes desses arquivos jar.
Você precisa incluir o arquivo jar baixado no caminho da classe.
Para conectar ao banco de dados, você precisa especificar o nome do banco de dados. Se o banco de dados não existir, o MongoDB criará automaticamente.
A seguir está o trecho de código para conectar ao banco de dados-
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class ConnectToDB { public static void main(String args[]) { // Criar um cliente MongoDB MongoClient mongo = new MongoClient("localhost", 27017 ; // Criar credenciais MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Conectado ao banco de dados com sucesso"); // Acessar o banco de dados MongoDatabase database = mongo.getDatabase("myDb"); System.out.println("Credentials ::"+ credential); } }
Agora, vamos compilar e executar o programa acima para criar o banco de dados myDb, conforme mostrado a seguir.
$javac ConnectToDB.java $java ConnectToDB
Após a execução, o programa acima fornecerá a seguinte saída.
Conectado com sucesso ao banco de dados Credentials :: MongoCredential{ mechanism = null, userName = 'sampleUser', source = 'myDb', password = <oculto>, mechanismProperties = {}
Para criar uma coleção, use o método createCollection () da classe com.mongodb.client.MongoDatabase.
A seguir está o trecho de código para criar a coleção-
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class CreatingCollection { public static void main(String args[]) { // Criar um cliente MongoDB MongoClient mongo = new MongoClient("localhost", 27017 ; // Criar credenciais MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Conectado ao banco de dados com sucesso"); //Acessar o banco de dados MongoDatabase database = mongo.getDatabase("myDb"); //Criar coleção database.createCollection("sampleCollection"); System.out.println("Criado com sucesso a coleção"); } }
No tempo de compilação, o programa acima fornece os seguintes resultados-
Conectado com sucesso ao banco de dados, criado com sucesso a coleção
Para obter do banco de dados/Para selecionar uma coleção, é necessário usar o método getCollection () da classe com.mongodb.client.MongoDatabase.
A seguir está/Programa para selecionar a coleção-
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class selectingCollection { public static void main(String args[]) { // Criar um cliente MongoDB MongoClient mongo = new MongoClient("localhost", 27017 ; // Criar credenciais MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Conectado ao banco de dados com sucesso"); // Acessar o banco de dados MongoDatabase database = mongo.getDatabase("myDb"); // Criar coleção System.out.println("Criado com sucesso a coleção"); // Recuperar coleção MongoCollection<Document> collection = database.getCollection("myCollection"); System.out.println("Selecionado com sucesso a coleção myCollection"); } }
No tempo de compilação, o programa acima fornece os seguintes resultados-
Conectado com sucesso ao banco de dados, criado com sucesso a coleção, selecionado com sucesso a coleção myCollection
Para inserir um documento no MongoDB, é necessário usar o método insert () da classe com.MongoDB.client.MongoCollection.
A seguir está o trecho de código para inserir documento-
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import com.mongodb.MongoClient; public class InsertingDocument { public static void main(String args[]) { // Criar um cliente MongoDB MongoClient mongo = new MongoClient("localhost", 27017 ; // Acessar o banco de dados MongoDatabase database = mongo.getDatabase("myDb"); // Criar coleção database.createCollection("sampleCollection"); System.out.println("Criado com sucesso a coleção"); // Recuperar coleção MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Selecionado com sucesso a coleção sampleCollection"); Document document = new Document("title", "MongoDB") .append("description", "database") .append("likes", 100) .append("url", "http://pt.oldtoolbag.com/mongodb/") .append("by", "oldtoolbag.com"); //Inserir documento na coleção collection.insertOne(document); System.out.println("Documento inserido com sucesso"); }
No tempo de compilação, o programa acima fornece os seguintes resultados-
Conectado com sucesso ao banco de dados Conectado com sucesso na coleção sampleCollection Documento inserido com sucesso
Para selecionar todos os documentos do conjunto, usecom.mongodb.client.MongoCollection
da classe
Este método retorna um cursor, portanto, você precisa iterar sobre ele.
Métodofind()
A seguir está o programa para selecionar todos os documentos-
import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class RetrievingAllDocuments { public static void main(String args[]) { // Criar um cliente MongoDB MongoClient mongo = new MongoClient("localhost", 27017 ; // Criar credenciais MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Conectado ao banco de dados com sucesso"); // Acessar o banco de dados MongoDatabase database = mongo.getDatabase("myDb"); // Recuperar coleção MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Selecionado com sucesso a coleção sampleCollection"); Document document1 = new Document("title", "MongoDB") .append("description", "database") .append("likes", 100) .append("url", "http://pt.oldtoolbag.com/mongodb/") .append("by", "oldtoolbag.com"); Document document2 = new Document("title", "RethinkDB") .append("description", "database") .append("likes", 200) .append("url", "http://pt.oldtoolbag.com/rethinkdb/") .append("by", "oldtoolbag.com"); List<Document> list = new ArrayList<Document>(); list.add(document1; list.add(document2; collection.insertMany(list); // Obter objeto iterável FindIterable<Document> iterDoc = collection.find(); int i = 1; // Obter iterador Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println(it.next()); i++; } } }
No tempo de compilação, o programa acima fornece os seguintes resultados-
Conectado com sucesso ao banco de dados Conectado com sucesso na coleção sampleCollection{{_id=5dce4e9ff68a9c2449e197b2, title=MongoDB, description=banco de dados, likes=100, url=http://pt.oldtoolbag.com/mongodb/, by=oldtoolbag.com}}Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://pt.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}
Para atualizar um documento no conjunto, usecom.mongodb.client.MongoCollection class
.
MétodoupdateOne()}
A seguir está o programa de seleção do primeiro documento-
import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import com.mongodb.client.model.Updates; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class UpdatingDocuments { public static void main(String args[]) { // Criar um cliente MongoDB MongoClient mongo = new MongoClient("localhost", 27017 ; // Criar credenciais MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Conectado ao banco de dados com sucesso"); // Acessar o banco de dados MongoDatabase database = mongo.getDatabase("myDb"); // Recuperar coleção MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Selecionado com sucesso a coleção myCollection"); collection.updateOne(Filters.eq("title", 1), Updates.set("likes", 150)); System.out.println("Atualização de documento bem-sucedida..."); // Recuperar documento após atualização // Obter objeto iterável FindIterable<Document> iterDoc = collection.find(); int i = 1; // Obter iterador Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println(it.next()); i++; } } }
No tempo de compilação, o programa acima fornece os seguintes resultados-
Conectado com sucesso ao banco de dados Selecionado com sucesso a coleção myCollection Atualização de documento bem-sucedida...Document{{_id=5dce4e9ff68a9c2449e197b2, title=MongoDB, description=banco de dados, likes=100, url=http://pt.oldtoolbag.com/mongodb/, by=oldtoolbag.com}}Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://pt.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}
Para excluir documentos da coleção, você precisa usar a classecom.mongodb.client.MongoCollection
do
Método.deleteOne()
A seguir está o programa de exclusão de documentos-
import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class DeletingDocuments { public static void main(String args[]) { // Criar um cliente MongoDB MongoClient mongo = new MongoClient("localhost", 27017 ; // Criar credenciais MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Conectado ao banco de dados com sucesso"); // Acessar o banco de dados MongoDatabase database = mongo.getDatabase("myDb"); // Recuperar coleção MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Selecionado com sucesso a coleção sampleCollection"); // Excluir arquivo collection.deleteOne(Filters.eq("title", "MongoDB")); System.out.println("Exclusão de documento bem-sucedida..."); // Recuperar documento após atualização // Obter objeto iterável FindIterable<Document> iterDoc = collection.find(); int i = 1; // Obter iterador Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println(it.next()); i++; } } }
No tempo de compilação, o programa acima fornece os seguintes resultados-
Conectado com sucesso ao banco de dados Selecionado com sucesso a coleção sampleCollection Exclusão de documento bem-sucedida...Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://pt.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}
Para remover a coleção do banco de dados, você precisa usar a classecom.mongodb.client.MongoCollection
do
Método.drop()
Aqui está o programa para remover a coleção-
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class DropingCollection { public static void main(String args[]) { // Criar um cliente MongoDB MongoClient mongo = new MongoClient("localhost", 27017 ; // Criar credenciais MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Conectado ao banco de dados com sucesso"); // Acessar o banco de dados MongoDatabase database = mongo.getDatabase("myDb"); // Criar coleção System.out.println("Criado com sucesso a coleção"); // Recuperar coleção MongoCollection<Document> collection = database.getCollection("sampleCollection"); // Remover coleção collection.drop(); System.out.println("Removido com sucesso a coleção"); } }
No tempo de compilação, o programa acima fornece os seguintes resultados-
Conectado com sucesso ao banco de dados Collection sampleCollection selecionado com sucesso Removido com sucesso a coleção
Para listar todas as coleções do banco de dados, você precisa usar a classedo com.mongodb.client.MongoDatabase
.
MétodolistCollectionNames()
Aqui está o programa para listar todas as coleções do banco de dados-
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class ListOfCollection { public static void main(String args[]) { // Criar um cliente MongoDB MongoClient mongo = new MongoClient("localhost", 27017 ; // Criar credenciais MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Conectado ao banco de dados com sucesso"); // Acessar o banco de dados MongoDatabase database = mongo.getDatabase("myDb"); System.out.println("Criado com sucesso a coleção"); for (String name : database.listCollectionNames()) { System.out.println(name); } } }
No tempo de compilação, o programa acima fornece os seguintes resultados-
Conectado ao banco de dados com sucesso Criado com sucesso a coleção myCollection myCollection1 myCollection5
O funcionamento dos métodos restantes do MongoDB save ()、 limit ()、 skip ()、 sort () e outros é explicado nos tutoriais subsequentes.