Menu Docs
Página inicial do Docs
/ / /
C#/.NET
/ / / /

Atualizar campos

Nesta página

  • Visão geral
  • Dados de amostra
  • Incrementar um valor
  • Multiplicar um valor
  • Renomear um campo
  • Definir um valor
  • Definir por comparação
  • Definir na inserção
  • Definir a data atual
  • Redefinir um campo
  • Documentação da API

On this page, you can learn how to use the MongoDB .NET/C# Driver to update fields in multiple MongoDB documents. Esta página descreve como criar UpdateDefinition<TDocument> objetos que especificam as operações de atualização que você deseja executar nos campos. Você pode passar esses objetos para os métodos de atualização descritos na página Atualizar muitos.

The .NET/C# Driver supports the campo update operators described in the MongoDB Server manual. To specify an update operation, call the corresponding method from the Builders.Update propriedade. As seções a seguir descrevem esses métodos em mais detalhes.

Observação

Sobrecargas de método

Muitos dos métodos nesta página têm múltiplas sobrecargas. Os exemplos deste guia mostram apenas uma definição de cada método. Para obter mais informações sobre as sobrecargas disponíveis, consulte a documentação da API.

Os exemplos neste guia utilizam a coleção do restaurants a partir do banco de dados do sample_restaurants. Os documentos nesta coleção usam as seguintes classes Restaurant, Address e GradeEntry como modelos:

public class Restaurant
{
public ObjectId Id { get; set; }
public string Name { get; set; }
[BsonElement("restaurant_id")]
public string RestaurantId { get; set; }
public string Cuisine { get; set; }
public Address Address { get; set; }
public string Borough { get; set; }
public List<GradeEntry> Grades { get; set; }
}
public class Address
{
public string Building { get; set; }
[BsonElement("coord")]
public double[] Coordinates { get; set; }
public string Street { get; set; }
[BsonElement("zipcode")]
public string ZipCode { get; set; }
}
public class GradeEntry
{
public DateTime Date { get; set; }
public string Grade { get; set; }
public float? Score { get; set; }
}

Observação

Os documentos na collection restaurants usam a convenção de nomenclatura snake-case. Os exemplos neste guia usam um ConventionPack para desserializar os campos na coleção em maiúsculas e minúsculas Pascal e mapeá-los para as propriedades na classe Restaurant .

Para saber mais sobre serialização personalizada, consulte Serialização personalizada.

Essa coleção é dos conjuntos de dados de amostra fornecidos pelo Atlas. Consulte o Quick Start para saber como criar um cluster MongoDB gratuito e carregar esses dados de amostra.

To increment the value of a campo by a specific amount, call the Builders.Update.Inc() method. Este método aceita os seguintes parâmetros:

Parâmetro
Descrição

field

Tipo de dados: Expression<Func<TDocument, TField>>

value

Tipo de dados: TField

To multiply the value of a campo by a specific amount, call the Builders.Update.Mul() method. Este método aceita os seguintes parâmetros:

Parâmetro
Descrição

field

Tipo de dados: Expression<Func<TDocument, TField>>

value

Tipo de dados: TField

To rename a campo, call the Builders.Update.Rename() method. Este método aceita os seguintes parâmetros:

Parâmetro
Descrição

field

Tipo de dados: Expression<Func<TDocument, TField>>

newName

Tipo de dados: string

To set the value of a campo to a specific value, call the Builders.Update.Set() method. Este método aceita os seguintes parâmetros:

Parâmetro
Descrição

field

Tipo de dados: Expression<Func<TDocument, TField>>

value

Tipo de dados: TField

To update the value of the campo to a specified value, but only if the specified value is greater than the current value of the campo, call the Builders.Update.Max() method. Este método aceita os seguintes parâmetros:

Parâmetro
Descrição

field

Tipo de dados: Expression<Func<TDocument, TField>>

value

Tipo de dados: TField

To update the value of the campo to a specified value, but only if the specified value is less than the current value of the campo, call the Builders.Update.Min() method. Este método aceita os seguintes parâmetros:

Parâmetro
Descrição

field

Tipo de dados: Expression<Func<TDocument, TField>>

value

Tipo de dados: TField

To set the value of a campo only if the documento was upserted by the same operation, call the Builders.Update.SetOnInsert() method. Este método aceita os seguintes parâmetros:

Parâmetro
Descrição

field

Tipo de dados: Expression<Func<TDocument, TField>>

value

Tipo de dados: TField

To set the value of a campo to the current date and time, call the Builders.Update.CurrentDate() method. Este método aceita os seguintes parâmetros:

Parâmetro
Descrição

field

Tipo de dados: Expression<Func<TDocument, TField>>

type

The format of the date and time, defined in the UpdateDefinitionCurrentDateType enumeração. O valor padrão é null.

Tipo de dados: UpdateDefinitionCurrentDateType?

To remove a campo from a documento, call the Builders.Update.Unset() method. Este método aceita o seguinte parâmetro:

Parâmetro
Descrição

field

Tipo de dados: Expression<Func<TDocument, TField>>

Para obter mais informações sobre qualquer um dos métodos discutidos nesta guia, consulte a seguinte documentação da API:

Voltar

UpdateMany