Atualizar campos
Nesta página
Visão geral
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.
Dados de amostra
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; } [ ] 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; } [ ] public double[] Coordinates { get; set; } public string Street { get; set; } [ ] 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.
Incrementar um valor
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 |
---|---|
| Tipo de dados: |
| Tipo de dados: |
Multiplicar um valor
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 |
---|---|
| Tipo de dados: |
| Tipo de dados: |
Renomear um campo
To rename a campo, call the Builders.Update.Rename()
method. Este método aceita os seguintes parâmetros:
Parâmetro | Descrição |
---|---|
| Tipo de dados: |
| Tipo de dados: |
Definir um valor
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 |
---|---|
| Tipo de dados: |
| Tipo de dados: |
Definir por comparação
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 |
---|---|
| Tipo de dados: |
| Tipo de dados: |
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 |
---|---|
| Tipo de dados: |
| Tipo de dados: |
Definir na inserção
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 |
---|---|
| Tipo de dados: |
| Tipo de dados: |
Definir a data atual
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 |
---|---|
| Tipo de dados: |
| The format of the date and time, defined in the Tipo de dados: UpdateDefinitionCurrentDateType? |
Redefinir um campo
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 |
---|---|
| Tipo de dados: |
Documentação da API
Para obter mais informações sobre qualquer um dos métodos discutidos nesta guia, consulte a seguinte documentação da API: