martedì 7 ottobre 2025

C# eliminare un campo di un documento dal database MongoDB Community

Nel caso che dobbiamo eliminare un campo di un documento, con il relativo valore, possiamo farlo tramite il metodo “UnSet”, indicando il nome del campo e dopo aver filtrato il documento al quale eliminarlo.

Si riporta un esempio di codice tramite il linguaggio di programmazione C# in un progetto di tipo Windows Application, versione del Framework .Net 9 .


Supponiamo che vogliamo eliminare il campo “email”, del documento come riportato nella figura qui di seguito.

C# utilizzo metodo Unset su MongoDB Community


Tramite un filtro su tale documento, possiamo eliminare solo il campo email di quel documento, utilizzando il metodo “UnSet”, della proprietà “Update” della classe “Builders”.

Di seguito si riporta il frammento di codice per cancellare tale campo.



C#

private void BtnEliminaFile_Click(object sender, EventArgs e)

{

    try

    {

 

        //Oggetto del client MongoDB

        var clientMongoDB = new MongoClient("mongodb://localhost:27017");

        //Oggetto per la gestione del database dal quale rilevare le collection

        var database = clientMongoDB.GetDatabase("Amministrazione");

        //Oggetto per la gestione delle collection

        var collection = database.GetCollection<BsonDocument>("Dati2");

        //Rilevo il documento da modificare

        var filtro = Builders<BsonDocument>.Filter.Eq("_id", new ObjectId("6899f2cad83f5e05cb76b1b6"));

 

        //Aggiorno il documento cancellando il campo email

        var aggiornamento = Builders<BsonDocument>.Update.Unset("email

        var options = new UpdateOptions { IsUpsert = false }; //Non crea un nuovo documento se non trova quello da aggiornare

                                                              //Aggiorno il documento nella collection

        var risultato = collection.UpdateOne(filtro, aggiornamento, options);

        //Verifico se è stato aggiornato il documento

        if (risultato.ModifiedCount == 0)

        {

            MessageBox.Show("Nessun documento aggiornato. Verificare l'ID selezionato.");

            return;

        }

        MessageBox.Show("File aggiornato con successo.");

 

 

    }

    catch (MongoCommandException ex)

    {

        MessageBox.Show(ex.Message);

    }

    catch (Exception ex)

    {

        MessageBox.Show(ex.Message);

    }

}





Il risultato sarà come mostrato qui di seguito.


C# utilizzo metodo Unset su MongoDB Community


Nessun commento: