Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

204
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda