Update

Partial document update.

When you need to update only part of the document, you can specify which properties should be updated. You can benefit from it in many ways: you don't need to prefetch all the data upfront, reduce the payload of a request, increment some property without replacing the entire document, ... If you want to replace the entire document, please refer to ReplaceOne action.

[UpdateOne] - Partial document update.

patch

When you need to update only part of the document, you can specify which properties should be updated. You can benefit from it in many ways: you don't need to prefetch all the data upfront, reduce the payload of a request, increment some property without replacing the entire document, ... If you want to replace the entire document, please refer to ReplaceOne action. https://docs.codemash.io/api/database/collections/update

Authorizations
Path parameters
IdstringRequired

Id of a record to update. Required if filter is empty.

CollectionNamestringRequired

Collection name - unique, lowercased, collection name without whitespace. E.g., if your collection title you have entered in the CodeMash dashboard is "Business Trips" then collection name would be "business-trips".

versionstringRequired

The CodeMash API version used to fetch data from the API. If not specified, the last version will be used. E.g.: v2

Header parameters
AcceptanyRequired

Accept Header

X-CM-ClusterstringOptional

API key of your cluster. Can be passed in a header as X-CM-Cluster.

X-CM-ProjectIdstringRequired

ID of your project. Can be passed in a header as X-CM-ProjectId.

CultureCodestringOptional

Specify culture code when your response from the API should be localised. E.g.: en

Body
anyOptional
Responses
200
Success
application/json
patch
PATCH //{version}/db/{CollectionName}/{Id} HTTP/1.1
Host: api.codemash.io
Authorization: YOUR_API_KEY
X-CM-ProjectId: text
Content-Type: application/json
Accept: */*
200

Success

{
  "response_status": {
    "error_code": "text",
    "message": "text",
    "stack_trace": "text",
    "errors": [
      {
        "error_code": "text",
        "field_name": "text",
        "message": "text",
        "meta": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        }
      }
    ],
    "meta": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  },
  "result": {
    "is_acknowledged": true,
    "matched_count": 1,
    "modified_count": 1,
    "upserted_id": "text"
  }
}

[UpdateOne] - Partial document update.

patch

When you need to update only part of the document, you can specify which properties should be updated. You can benefit from it in many ways: you don't need to prefetch all the data upfront, reduce the payload of a request, increment some property without replacing the entire document, ... If you want to replace the entire document, please refer to ReplaceOne action. https://docs.codemash.io/api/database/collections/update

Authorizations
Path parameters
CollectionNamestringRequired

Collection name - unique, lowercased, collection name without whitespace. E.g., if your collection title you have entered in the CodeMash dashboard is "Business Trips" then collection name would be "business-trips".

versionstringRequired

The CodeMash API version used to fetch data from the API. If not specified, the last version will be used. E.g.: v2

Header parameters
AcceptanyRequired

Accept Header

X-CM-ClusterstringOptional

API key of your cluster. Can be passed in a header as X-CM-Cluster.

X-CM-ProjectIdstringRequired

ID of your project. Can be passed in a header as X-CM-ProjectId.

CultureCodestringOptional

Specify culture code when your response from the API should be localised. E.g.: en

Body
anyOptional
Responses
200
Success
application/json
patch
PATCH //{version}/db/{CollectionName} HTTP/1.1
Host: api.codemash.io
Authorization: YOUR_API_KEY
X-CM-ProjectId: text
Content-Type: application/json
Accept: */*
200

Success

{
  "response_status": {
    "error_code": "text",
    "message": "text",
    "stack_trace": "text",
    "errors": [
      {
        "error_code": "text",
        "field_name": "text",
        "message": "text",
        "meta": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        }
      }
    ],
    "meta": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  },
  "result": {
    "is_acknowledged": true,
    "matched_count": 1,
    "modified_count": 1,
    "upserted_id": "text"
  }
}
var client = new CodeMashClient(apiKey, projectId);
var service = new CodeMashRepository<Person>(client);

var person = new Person { Id = "record_id" Name = "Peter" };
var updateDefinition = Builders<Person>.Update.Set(x => x.Name , "Peter II");

await service.UpdateOneRequest(
    x => x.Id == person.Id,
    updateDefinition,
    new DatabaseUpdateOneOptions()
);

Check the information about entities on how your class objects are serialized.

Check the docs on how to form filters.

Last updated

Was this helpful?