Ler dados no MongoDB
Visão geral
Neste guia, você aprenderá como recuperar dados do MongoDB.
Tempo necessário: 10 minutos
O que você precisa
Umastring de conexão para sua implantação do MongoDB .
Exemplos de conjuntos de dados carregados em seu cluster.
Procedimento
Conecte-se à sua instância do MongoDB.
Dica
Veja a seguir um esboço com o código mínimo necessário para se conectar ao MongoDB. Você fará adições nas próximas etapas para ler os dados.
Na linha 5, substitua a string URI por sua própria connection string Atlas.
1 using MongoDB.Bson;
2 using MongoDB.Driver;
3
4 // Replace the uri string with your MongoDB deployment's connection string.
5 var uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority";
6
7 var client = new MongoClient(uri);
8
9 // database and collection code goes here
10 // find code goes here
11 // iterate code goes here
12
13
14
Dica
Veja a seguir um esboço com o código mínimo necessário para se conectar ao MongoDB. Você fará adições nas próximas etapas para ler os dados.
Na linha 11, substitua a string URI por sua própria string de conexão Atlas .
1 package main 2 3 import ( 4 "context" 5 6 "go.mongodb.org/mongo-driver/v2/mongo" 7 "go.mongodb.org/mongo-driver/v2/mongo/options" 8 ) 9 10 func main() { 11 uri := "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority" 12 13 client, err := mongo.Connect(options.Client().ApplyURI(uri)) 14 if err != nil { 15 panic(err) 16 } 17 18 defer func() { 19 if err = client.Disconnect(context.TODO()); err != nil { 20 panic(err) 21 } 22 }() 23 24 // database and colletion code goes here 25 // find code goes here 26 // iterate code goes here 27 }
Dica
Veja a seguir um esboço com o código mínimo necessário para se conectar ao MongoDB. Você fará adições nas próximas etapas para ler os dados.
Na linha 8, substitua a string URI por sua própria string de conexão Atlas .
1 import com.mongodb.client.*; 2 import com.mongodb.client.model.Filters.*; 3 import org.bson.Document; 4 import org.bson.conversions.Bson; 5 6 public class CrudRead { 7 public static void main(String[] args) { 8 String uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority"; 9 10 try (MongoClient mongoClient = MongoClients.create(uri)) { 11 // database and collection code goes here 12 // find code goes here 13 // iterate code goes here 14 } 15 } 16 }
Dica
Veja a seguir um esboço com o código mínimo necessário para se conectar ao MongoDB. Você fará adições nas próximas etapas para ler os dados.
Na linha 4, substitua a string URI pela sua própria connection string do Atlas.
1 const { MongoClient } = require("mongodb"); 2 // Replace the uri string with your MongoDB deployment's connection string. 3 const uri = 4 "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority"; 5 const client = new MongoClient(uri); 6 async function run() { 7 try { 8 await client.connect(); 9 // database and collection code goes here 10 // find code goes here 11 // iterate code goes here 12 } finally { 13 // Ensures that the client will close when you finish/error 14 await client.close(); 15 } 16 } 17 run().catch(console.dir);
Dica
Veja a seguir um esboço com o código mínimo necessário para se conectar ao MongoDB. Você fará adições nas próximas etapas para ler os dados.
Na linha 4, substitua a string URI pela sua própria connection string do Atlas.
1 from pymongo import MongoClient 2 3 # Replace the uri string with your MongoDB deployment's connection string. 4 uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority" 5 6 client = MongoClient(uri) 7 8 # database and collection code goes here 9 # find code goes here 10 # iterate code goes here 11 12 # Close the connection to MongoDB when you're done. 13 client.close()
Dica
MongoDB+srv
Certifique-se de ter instalado o PyMongo com a opção srv
.
python3 -m pip install "pymongo[srv]"
Neste bloco de código, há um comentário para substituir a URI da conexão pela sua. Substitua a string de URI pela sua connection string do Atlas.
Obtenha o banco de dados e a collection.
Mude para o banco de dados e a coleta que você deseja consultar. Nesse caso, você usará o banco de dados sample_guides
e a coleta planets
.
// database and collection code goes here
var db = client.GetDatabase("sample_guides");
var coll = db.GetCollection<BsonDocument>("planets");
1 // database and colletion code goes here 2 db := client.Database("sample_guides") 3 coll := db.Collection("planets")
1 // database and collection code goes here 2 MongoDatabase db = mongoClient.getDatabase("sample_guides"); 3 MongoCollection<Document> coll = db.getCollection("planets");
// database and collection code goes here const db = client.db("sample_guides"); const coll = db.collection("planets");
# database and collection code goes here db = client.sample_guides coll = db.planets
Recupere todos os documentos na planets
coleção.
// find code goes here
var cursor = coll.AsQueryable();
Use o método Find()
para recuperar todos os documentos. Em outro guia, você aprenderá como usar o mesmo método para recuperar documentos que correspondam a critérios específicos.
Dica
O bson.D{}
vazio é necessário para corresponder a todos os documentos.
1 // find code goes here 2 cursor, err := coll.Find(context.TODO(), bson.D{}) 3 if err != nil { 4 panic(err) 5 }
Use o método find()
para recuperar todos os documentos. Em outro guia, você aprenderá como usar o mesmo método para recuperar documentos que correspondam a critérios específicos.
1 // find code goes here 2 MongoCursor<Document> cursor = coll.find().iterator();
Use o método find()
para recuperar todos os documentos. Em outro guia, você aprenderá como usar o mesmo método para recuperar documentos que correspondam a critérios específicos.
// find code goes here const cursor = coll.find();
Use o método find()
para recuperar todos os documentos. Em outro guia, você aprenderá como usar o mesmo método para recuperar documentos que correspondam a critérios específicos.
# find code goes here cursor = coll.find()
Iterar sobre os resultados.
// iterate code goes here
foreach (var document in cursor.ToEnumerable())
{
Console.WriteLine(document);
}
1 // iterate code goes here 2 for cursor.Next(context.TODO()) { 3 var result bson.M 4 if err := cursor.Decode(&result); err != nil { 5 panic(err) 6 } 7 fmt.Println(result) 8 } 9 if err := cursor.Err(); err != nil { 10 panic(err) 11 }
1 // iterate code goes here 2 try { 3 while (cursor.hasNext()) { 4 System.out.println(cursor.next().toJson()); 5 } 6 } finally { 7 cursor.close(); 8 }
Itere os resultados e imprima-os no console. Operações como essa são asychronous no driver Node.js do MongoDB por padrão, o que significa que o tempo de execução do Node.js não bloqueia outras operações enquanto espera que elas terminem a execução.
Para simplificar a operação, você especifica a palavra-chave await
, que fará com que o tempo de execução aguarde a operação. Isso geralmente é mais fácil do que especificar uma chamada de resposta, ou encadear uma promessa.
Para mais informações, consulte o guia Promise and Callbacks.
// iterate code goes here await cursor.forEach(console.log);
# iterate code goes here for doc in cursor: print(doc)
Verifique seus resultados.
Aqui está o código completo seguido de saída de amostra.
Observação
Seus valores ObjectId
serão diferentes daqueles mostrados.
Aqui está o código completo seguido de saída de amostra.
1 using MongoDB.Bson;
2 using MongoDB.Driver;
3
4 // Replace the uri string with your MongoDB deployment's connection string.
5 var uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority";
6
7 var client = new MongoClient(uri);
8
9 // database and collection code goes here
10 var db = client.GetDatabase("sample_guides");
11 var coll = db.GetCollection<BsonDocument>("planets");
12 // find code goes here
13 var cursor = coll.AsQueryable();
14 // iterate code goes here
15 foreach (var document in cursor)
16 {
17 Console.WriteLine(document);
18 }
19
20
{ '_id': ObjectId('621ff30d2a3e781873fcb65c'), 'name': 'Mercury', 'orderFromSun': 1, 'hasRings': False, 'mainAtmosphere': [], 'surfaceTemperatureC': {'min': -173, 'max': 427, 'mean': 67} }, ...
Aqui está o código completo seguido de saída de amostra.
1 package main 2 3 import ( 4 "context" 5 "fmt" 6 7 "go.mongodb.org/mongo-driver/v2/bson" 8 "go.mongodb.org/mongo-driver/v2/mongo" 9 "go.mongodb.org/mongo-driver/v2/mongo/options" 10 ) 11 12 func main() { 13 uri := "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority" 14 15 client, err := mongo.Connect(options.Client().ApplyURI(uri)) 16 if err != nil { 17 panic(err) 18 } 19 20 defer func() { 21 if err = client.Disconnect(context.TODO()); err != nil { 22 panic(err) 23 } 24 }() 25 26 // database and colletion code goes here 27 db := client.Database("sample_guides") 28 coll := db.Collection("planets") 29 30 // find code goes here 31 cursor, err := coll.Find(context.TODO(), bson.D{}) 32 if err != nil { 33 panic(err) 34 } 35 36 // iterate code goes here 37 for cursor.Next(context.TODO()) { 38 var result bson.M 39 if err := cursor.Decode(&result); err != nil { 40 panic(err) 41 } 42 fmt.Println(result) 43 } 44 if err := cursor.Err(); err != nil { 45 panic(err) 46 } 47 48 }
map[_id:ObjectID("621ff30d2a3e781873fcb65c") hasRings:false mainAtmosphere:[] name:Mercury orderFromSun:1 surfaceTemperatureC:map[max:427 mean:67 min:-173]] ...
Aqui está o código completo seguido de saída de amostra.
1 import com.mongodb.client.*; 2 import com.mongodb.client.model.Filters.*; 3 import org.bson.Document; 4 import org.bson.conversions.Bson; 5 6 public class CrudRead { 7 public static void main(String[] args) { 8 String uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority"; 9 10 try (MongoClient mongoClient = MongoClients.create(uri)) { 11 // database and collection code goes here 12 MongoDatabase db = mongoClient.getDatabase("sample_guides"); 13 MongoCollection<Document> coll = db.getCollection("planets"); 14 15 // find code goes here 16 MongoCursor<Document> cursor = coll.find().iterator(); 17 18 // iterate code goes here 19 try { 20 while (cursor.hasNext()) { 21 System.out.println(cursor.next().toJson()); 22 } 23 } finally { 24 cursor.close(); 25 } 26 } 27 } 28 }
{"_id": {"$oid": "621ff30d2a3e781873fcb65c"}, "name": "Mercury", "orderFromSun": 1, "hasRings": false, "mainAtmosphere": [], "surfaceTemperatureC": {"min": -173, "max": 427, "mean": 67}} ...
Aqui está o código completo seguido de saída de amostra.
1 const { MongoClient } = require("mongodb"); 2 // Replace the uri string with your MongoDB deployment's connection string. 3 const uri = 4 "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority"; 5 const client = new MongoClient(uri); 6 async function run() { 7 try { 8 await client.connect(); 9 // database and collection code goes here 10 const db = client.db("sample_guides"); 11 const coll = db.collection("planets"); 12 13 // find code goes here 14 const cursor = coll.find(); 15 16 // iterate code goes here 17 await cursor.forEach(console.log); 18 } finally { 19 // Ensures that the client will close when you finish/error 20 await client.close(); 21 } 22 } 23 run().catch(console.dir);
{ '_id': ObjectId('621ff30d2a3e781873fcb65c'), 'name': 'Mercury', 'orderFromSun': 1, 'hasRings': False, 'mainAtmosphere': [], 'surfaceTemperatureC': {'min': -173, 'max': 427, 'mean': 67} }, ...
Aqui está o código completo seguido de saída de amostra.
1 from pymongo import MongoClient 2 3 # Replace the uri string with your MongoDB deployment's connection string. 4 uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority" 5 6 client = MongoClient(uri) 7 8 # database and collection code goes here 9 db = client.sample_guides 10 coll = db.planets 11 # find code goes here 12 cursor = coll.find({"hasRings": True}) 13 # iterate code goes here 14 for doc in cursor: 15 print(doc) 16 17 # Close the connection to MongoDB when you're done. 18 client.close()
{ '_id': ObjectId('621ff30d2a3e781873fcb65c'), 'name': 'Mercury', 'orderFromSun': 1, 'hasRings': False, 'mainAtmosphere': [], 'surfaceTemperatureC': {'min': -173, 'max': 427, 'mean': 67} }, ...
Resumo
Se você concluiu com sucesso o procedimento neste guia, recuperou dados do MongoDB.
No próximo guia, você aprenderá como recuperar dados do MongoDB usando critérios.
Veja também
A documentação do driver C# do MongoDB.
A documentação do driver Go do MongoDB.
A documentação do driver MongoDB Java (Sync).
A documentação MongoDB Node.js Driver.
O PyMongo documentação.
Para outros guias CRUD:
Use uma query para especificar quais documentos recuperar no MongoDB.