Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

205
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda