Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

203
Views
Actualizar todas las propiedades del objeto en MongoDb

Estoy usando el controlador MongoDB .Net en mi proyecto. Quiero actualizar todas las propiedades de mi objeto que está almacenado en MongoDB. En la documentación, la actualización se muestra así:

 var filter = Builders<BsonDocument>.Filter.Eq("i", 10); var update = Builders<BsonDocument>.Update.Set("i", 110); await collection.UpdateOneAsync(filter, update);

Pero no quiero llamar al método Set para todas las propiedades, ya que hay muchas propiedades y puede haber muchas más en el futuro.

¿Cómo puedo actualizar todo el objeto usando el controlador MongoDB .Net?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Puede hacerlo con ReplaceOneAsync en lugar de UpdateOneAsync .

Necesita un filtro para que coincida con el documento existente (un filtro con la identificación del documento es el más simple) y el nuevo objeto.

 Hamster hamster = ... var replaceOneResult = await collection.ReplaceOneAsync( doc => doc.Id == hamster.Id, hamster);
over 4 years ago · Santiago Trujillo Report

0

var update = new BsonDocument("$set", new BsonDocument(entityType.GetProperties().Where(p => p.Name != "Id").Select(p => new KeyValuePair<string, object>(p.Name, entityType.GetProperty(p.Name).GetValue(task, null))))); var options = new UpdateOptions(); collection.UpdateOne<MyTask>(item => item.Name == "cheque", update, options);

este código usa la reflexión para incluir todas las propiedades del objeto dado
a la declaración de actualización, no es necesario agregar manualmente todas las propiedades, como ve, la identificación se excluye explícitamente de la declaración de actualización para evitar excepciones.

over 4 years ago · Santiago Trujillo Report

0

Si desea actualizar todo su BsonDocument, hay una conversión implícita de BsonDocument a UpdateDefinition.

https://github.com/mongodb/mongo-csharp-driver/blob/master/src/MongoDB.Driver/UpdateDefinition.cs

 var doc = new BsonDocument() { .... } UpdateDefinition<BsonDocument> update = doc;
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!