Menu Docs
Página inicial do Docs
/ / /
Kotlin Coroutine
/ /

Excluir vários documentos

Você pode excluir vários documento de uma collection em uma única operação chamando o método deleteMany() em um objeto MongoCollection .

Para especificar quais documentos excluir, passe um filtro de query que corresponda aos documentos que você deseja excluir. Se você fornecer um documento vazio, o MongoDB corresponderá a todos os documentos na coleção e os excluirá. Embora você possa usar deleteMany() para excluir todos os documentos em uma coleção, considere usar o método drop() para obter melhor desempenho.

Após a exclusão bem-sucedida, este método retorna uma instância de DeleteResult. Você pode recuperar informações, como o número de documentos excluídos, chamando o método getDeletedCount() na instância DeleteResult .

Se a sua operação de exclusão falhar, o driver emitirá uma exceção. Para obter mais informações sobre os tipos de exceções geradas em condições específicas, consulte a documentação da API para deleteMany(), cujo link está no final desta página.

O trecho a seguir exclui vários documento da collection movies no reconhecimento de data center sample_mflix .

O filtro de query passado para o método deleteMany() corresponde a todos os documentos de filmes que contêm rating menor que 2.9 no subdocumento imdb .

Ao executar o exemplo, você deverá visualizar a saída que relata o número de documentos excluídos na sua chamada para deleteMany().

Observação

Esse exemplo se conecta a uma instância do MongoDB usando um URI de conexão. Para saber mais sobre como se conectar à sua instância do MongoDB , consulte oguia de conexão .

import com.mongodb.MongoException
import com.mongodb.client.model.Filters
import com.mongodb.kotlin.client.coroutine.MongoClient
import kotlinx.coroutines.runBlocking
data class Movie(val imdb: IMDB){
data class IMDB(val rating: Double)
}
fun main() = runBlocking {
// Replace the uri string with your MongoDB deployment's connection string
val uri = "<connection string uri>"
val mongoClient = MongoClient.create(uri)
val database = mongoClient.getDatabase("sample_mflix")
val collection = database.getCollection<Movie>("movies")
val query = Filters.lt("${Movie::imdb.name}.${Movie.IMDB::rating.name}", 2.9)
try {
val result = collection.deleteMany(query)
println("Deleted document count: " + result.deletedCount)
} catch (e: MongoException) {
System.err.println("Unable to delete due to an error: $e")
}
mongoClient.close()
}
Deleted document count: 4

Para obter mais informações sobre as classes e métodos mencionados nesta página, consulte a seguinte documentação da API:

  • DeleteMany()

  • DeleteResult

  • Drop()

Voltar

Excluir um documento