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.
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.


Nessun commento:
Posta un commento