Menu Docs
Página inicial do Docs
/
Começar com Guias

Excluir dados do MongoDB

Neste guia, você excluirá dados do MongoDB.

Tempo necessário: 10 minutos

  • Umastring de conexão para sua implantação do MongoDB .

  • Exemplos de conjuntos de dados carregados em seu cluster.

  • Um mongoDB Driver instalado.

1
1

A classe a seguir lista todos os nomes e tipos de campo que seu documento terá.

CrudDelete.cs
1// class that maps to the fields of a document in the sample_guides.comets collection
2class Comet {
3 public ObjectId Id { get; set; }
4 public string Name { get; set; }
5 public string OfficialName { get; set; }
6 public double OrbitalPeriod { get; set; }
7 public double Radius { get; set; }
8 public double Mass { get; set; }
9}
2

Em C#, você mapeia campos para propriedades de classe , que são maiúsculas por convenção. No entanto, é preciso excluir os dados com campos camel case. Para fazer com que o driver converta automaticamente os campos de maiúsculas para camel case, crie um ConventionPack e registre a convenção de nomenclatura para CamelCase.

CrudDelete.cs
1// instruct the driver to camelCase the fields in MongoDB
2var pack = new ConventionPack { new CamelCaseElementNameConvention() };
3ConventionRegistry.Register("elementNameConvention", pack, x => true);
3

Dica

Veja abaixo uma descrição com o código mínimo necessário para se conectar ao MongoDB. Você fará adições nas próximas etapas para excluir dados.

Na linha 6, substitua a string URI por sua própria string de conexão Atlas.

CrudDelete.cs
1using MongoDB.Bson;
2using MongoDB.Bson.Serialization.Conventions;
3using MongoDB.Driver;
4
5// Replace the uri string with your MongoDB deployment's connection string.
6var uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority";
7
8// instruct the driver to read the fields in camelCase
9var pack = new ConventionPack { new CamelCaseElementNameConvention() };
10ConventionRegistry.Register("elementNameConvention", pack, x => true);
11
12var client = new MongoClient(uri);
13
14// database and collection code goes here
15// delete code goes here
16// amount deleted code goes here
17
18// class that represents the fields of a document in the
19// sample_guides.comets collection
20class Comet {
21 public ObjectId Id { get; set; }
22 public string Name { get; set; }
23 public string OfficialName { get; set; }
24 public double OrbitalPeriod { get; set; }
25 public double Radius { get; set; }
26 public double Mass { get; set; }
27}

Dica

Veja abaixo uma descrição com o código mínimo necessário para se conectar ao MongoDB. Você fará adições nas próximas etapas para excluir dados.

Na linha 15, substitua a string URI por sua própria string de conexão Atlas .

crud-delete.go
1package main
2
3import (
4 "context"
5 "fmt"
6 "log"
7 "os"
8
9 "go.mongodb.org/mongo-driver/bson"
10 "go.mongodb.org/mongo-driver/mongo"
11 "go.mongodb.org/mongo-driver/mongo/options"
12)
13
14func main() {
15 uri := "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority"
16
17 client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri))
18 if err != nil {
19 panic(err)
20 }
21
22 defer func() {
23 if err = client.Disconnect(context.TODO()); err != nil {
24 panic(err)
25 }
26 }()
27
28 // database and colletion code goes here
29 // delete code goes here
30 // amount deleted code goes here
31}

Dica

Veja abaixo uma descrição com o código mínimo necessário para se conectar ao MongoDB. Você fará adições nas próximas etapas para excluir dados.

Na linha 13, substitua a string URI por sua própria string de conexão Atlas .

CrudDelete.java
1import com.mongodb.client.MongoClient;
2import com.mongodb.client.MongoClients;
3import com.mongodb.client.MongoCollection;
4import com.mongodb.client.MongoDatabase;
5import com.mongodb.client.result.DeleteResult;
6import com.mongodb.client.model.Filters;
7
8import org.bson.Document;
9import org.bson.conversions.Bson;
10
11public class CrudDelete {
12 public static void main(String[] args) {
13 String uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority";
14
15 try (MongoClient mongoClient = MongoClients.create(uri)) {
16 // database and collection code goes here
17 // insert code goes here
18 // amount deleted code goes here
19 }
20 }
21}

Dica

Veja abaixo uma descrição com o código mínimo necessário para se conectar ao MongoDB. Você fará adições nas próximas etapas para excluir dados.

Na linha 5, substitua a string URI por sua própria connection string Atlas.

crud-delete.js
1const { MongoClient } = require("mongodb");
2
3// Replace the uri string with your MongoDB deployment's connection string.
4const uri =
5 "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority";
6
7const client = new MongoClient(uri);
8
9async function run() {
10 try {
11 await client.connect();
12 // database and collection code goes here
13 // delete code goes here
14 // amount deleted code goes here
15 } finally {
16 // Ensures that the client will close when you finish/error
17 await client.close();
18 }
19}
20run().catch(console.dir);

Dica

Veja abaixo uma descrição com o código mínimo necessário para se conectar ao MongoDB. Você fará adições nas próximas etapas para excluir dados.

Na linha 4, substitua a string URI pela sua própria connection string do Atlas.

crud_delete.py
1from pymongo import MongoClient
2
3# Replace the uri string with your MongoDB deployment's connection string.
4uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority"
5
6client = MongoClient(uri)
7
8# database and collection code goes here
9# delete code goes here
10# amount deleted code goes here
11
12# Close the connection to MongoDB when you're done.
13client.close()

Dica

MongoDB+srv

Certifique-se de ter instalado o PyMongo com a opção srv.

python3 -m pip install "pymongo[srv]"
2

Alterne para o banco de dados e a collection que você deseja fazer query. Neste caso, você usará o banco de dados sample_guides e a collection comets.

CrudDelete.cs
// database and collection code goes here
var db = client.GetDatabase("sample_guides");
var coll = db.GetCollection<Comet>("comets");
crud-delete.go
1// database and colletion code goes here
2db := client.Database("sample_guides")
3coll := db.Collection("comets")
CrudDelete.java
1// database and collection code goes here
2MongoDatabase db = mongoClient.getDatabase("sample_guides");
3MongoCollection<Document> coll = db.getCollection("comets");
crud-delete.js
// database and collection code goes here
const db = client.db("sample_guides");
const coll = db.collection("comets");
crud_delete.py
# database and collection code goes here
db = client.sample_guides
coll = db.comets
3

O exemplo a seguir ilustra o uso de um filtro de consulta para excluir documentos onde seu orbitalPeriod é maior que 5 e menor que 85.

CrudDelete.cs
// delete code goes here
var result = coll.DeleteMany(x => x.OrbitalPeriod > 5 && x.OrbitalPeriod < 85);
crud-delete.go
1// delete code goes here
2filter := bson.D{
3 {"$and",
4 bson.A{
5 bson.D{{"orbitalPeriod", bson.D{{"$gt", 5}}}},
6 bson.D{{"orbitalPeriod", bson.D{{"$lt", 85}}}},
7 },
8 },
9}

O driver Java do MongoDB inclui construtores que simplificam o processo de criação de query (e outras operações). Aqui, você usa os construtores Filters.and, Filters.lt e Filters.gt para construir o documento de query.

CrudDelete.java
1// delete code goes here
2Bson filter = Filters.and(Filters.gt("orbitalPeriod", 5), Filters.lt("orbitalPeriod", 85));
3DeleteResult result = coll.deleteMany(filter);
crud-delete.js
// delete code goes here
const doc = {
orbitalPeriod: {
$gt: 5,
$lt: 85
}
};
const result = await coll.deleteMany(doc);
crud_delete.py
# delete code goes here
doc = {
"orbitalPeriod": {
"$gt": 5,
"$lt": 85
}
}
result = coll.delete_many(doc)
4

O result contém algumas informações sobre a operação de exclusão. Para verificar se você excluiu documentos, imprima a quantidade de documentos que o driver excluiu.

CrudDelete.cs
// amount deleted code goes here
Console.WriteLine($"Number of documents deleted: {result.DeletedCount}");
crud-delete.go
1// amount deleted code goes here
2fmt.Printf("Number of documents deleted: %d", result.DeletedCount)
CrudDelete.java
1// amount deleted code goes here
2System.out.println("Number of documents deleted: " +result.getDeletedCount());
crud-delete.js
// amount deleted code goes here
console.log("Number of documents deleted: " + result.deletedCount);
crud_delete.py
# amount deleted code goes here
print("Number of documents deleted: ", result.deleted_count)
5

Aqui está o código completo seguido de saída de amostra.

CrudDelete.cs
1using MongoDB.Bson;
2using MongoDB.Bson.Serialization.Conventions;
3using MongoDB.Driver;
4
5// Replace the uri string with your MongoDB deployment's connection string.
6var uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority";
7
8// instruct the driver to read the fields in camelCase
9var pack = new ConventionPack { new CamelCaseElementNameConvention() };
10ConventionRegistry.Register("elementNameConvention", pack, x => true);
11
12var client = new MongoClient(uri);
13
14// database and collection code goes here
15var db = client.GetDatabase("sample_guides");
16var coll = db.GetCollection<Comet>("comets");
17
18// delete code goes here
19var result = coll.DeleteMany(x => x.OrbitalPeriod > 5 && x.OrbitalPeriod < 85);
20
21// amount deleted code goes here
22Console.WriteLine($"Number of documents deleted: {result.DeletedCount}");
23
24// class that maps to the fields of a document in the sample_guides.comets collection
25class Comet
26{
27 public ObjectId Id { get; set; }
28 public string Name { get; set; }
29 public string OfficialName { get; set; }
30 public double OrbitalPeriod { get; set; }
31 public double Radius { get; set; }
32 public double Mass { get; set; }
33}
Number of documents deleted: 2
crud-delete.go
1package main
2
3import (
4 "context"
5 "fmt"
6 "log"
7 "os"
8
9 "go.mongodb.org/mongo-driver/bson"
10 "go.mongodb.org/mongo-driver/mongo"
11 "go.mongodb.org/mongo-driver/mongo/options"
12)
13
14func main() {
15 uri := "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority"
16
17 client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri))
18 if err != nil {
19 panic(err)
20 }
21
22 defer func() {
23 if err = client.Disconnect(context.TODO()); err != nil {
24 panic(err)
25 }
26 }()
27
28 // database and colletion code goes here
29 db := client.Database("sample_guides")
30 coll := db.Collection("comets")
31
32 // delete code goes here
33 filter := bson.D{
34 {"$and",
35 bson.A{
36 bson.D{{"orbitalPeriod", bson.D{{"$gt", 5}}}},
37 bson.D{{"orbitalPeriod", bson.D{{"$lt", 85}}}},
38 },
39 },
40 }
41
42 result, err := coll.DeleteMany(context.TODO(), filter)
43 if err != nil {
44 panic(err)
45 }
46
47 // amount deleted code goes here
48 fmt.Printf("Number of documents deleted: %d", result.DeletedCount)
49}
Number of documents deleted: 2
CrudDelete.java
1import com.mongodb.client.MongoClient;
2import com.mongodb.client.MongoClients;
3import com.mongodb.client.MongoCollection;
4import com.mongodb.client.MongoDatabase;
5import com.mongodb.client.result.DeleteResult;
6import com.mongodb.client.model.Filters;
7
8import org.bson.Document;
9import org.bson.conversions.Bson;
10
11public class CrudDelete {
12 public static void main(String[] args) {
13 String uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority";
14
15 try (MongoClient mongoClient = MongoClients.create(uri)) {
16 // database and collection code goes here
17 MongoDatabase db = mongoClient.getDatabase("sample_guides");
18 MongoCollection<Document> coll = db.getCollection("comets");
19
20 // delete code goes here
21 Bson filter = Filters.and(Filters.gt("orbitalPeriod", 5), Filters.lt("orbitalPeriod", 85));
22 DeleteResult result = coll.deleteMany(filter);
23
24 // amount deleted code goes here
25 System.out.println("Number of documents deleted: " +result.getDeletedCount());
26 }
27 }
28}
Number of documents deleted: 2
crud-delete.js
1const { MongoClient } = require("mongodb");
2
3// Replace the uri string with your MongoDB deployment's connection string.
4const uri =
5 "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority";
6
7const client = new MongoClient(uri);
8
9async function run() {
10 try {
11 await client.connect();
12 // database and collection code goes here
13 const db = client.db("sample_guides");
14 const coll = db.collection("comets");
15
16 // delete code goes here
17 const doc = {
18 orbitalPeriod: {
19 $gt: 5,
20 $lt: 85
21 }
22 };
23
24 const result = await coll.deleteMany(doc);
25
26 // amount deleted code goes here
27 console.log("Number of documents deleted: " + result.deletedCount);
28
29 } finally {
30 // Ensures that the client will close when you finish/error
31 await client.close();
32 }
33}
34run().catch(console.dir);
Number of documents deleted: 2
crud_delete.py
1from pymongo import MongoClient
2
3# Replace the uri string with your MongoDB deployment's connection string.
4uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority"
5
6client = MongoClient(uri)
7
8# database and collection code goes here
9db = client.sample_guides
10coll = db.comets
11
12# delete code goes here
13doc = {
14 "orbitalPeriod": {
15 "$gt": 5,
16 "$lt": 85
17 }
18}
19result = coll.delete_many(doc)
20
21# amount deleted code goes here
22print("Number of documents deleted: ", result.deleted_count)
23
24# Close the connection to MongoDB when you're done.
25client.close()
Number of documents deleted: 2

Se você concluiu este guia, excluiu os dados do MongoDB.

Isso conclui esta introdução às operações CRUD no MongoDB.

Consulte os seguintes recursos para obter informações mais detalhadas sobre os conceitos apresentados aqui:

Qual é o próximo
Crie um índice dinâmico
5 minutos

Recupere documentos no MongoDB com a pesquisa de texto completo.

Guia de início
Capítulo 3
Atlas Search
  • Crie um índice dinâmico
  • Crie um índice com mapeamentos de campos estáticos
  • Com fazer queries com o operador composto
  • Consultando com facets