Supresión de un documento

Los pasos que se muestran aquí demuestran cómo suprimir un documento.

  1. Envíe una solicitud DELETE con la _rev más reciente del documento en la serie de consulta.
  2. Ejecute el mandato siguiente: https://$ACCOUNT.cloudant.com/$DATABASE/$DOCUMENT_ID. La respuesta contiene el ID y la nueva revisión del documento, o un mensaje de error si la supresión falla.

Si no se proporciona el archivo « _rev » más reciente, IBM Cloudant devuelve un error 409. Este error le impide sobrescribir datos modificados por otros clientes. Si no se alcanza el quórum de escritura, se devuelve una respuesta 202.

IBM Cloudant no suprime por completo el documento especificado. En su lugar, deja un marcador de exclusión con información básica sobre el documento. El marcador de exclusión es necesario para que la acción de supresión se pueda replicar en otras copias de la base de datos. Puesto que los marcadores de exclusión permanecen en la base de datos de forma indefinida, la creación de nuevos documentos y su supresión aumenta el uso del espacio de disco de una base de datos. También pueden aumentar el tiempo de consulta para el índice primario, que se utiliza para buscar documentos por su ID.

Los pasos siguientes muestran cómo suprimir una solicitud utilizando HTTP.

  1. Envíe una solicitud DELETE con la _rev más reciente del documento en la serie de consulta utilizando HTTP.

  2. Ejecute el mandato siguiente: DELETE /$DATABASE/$DOCUMENT_ID?rev=$REV HTTP/1.1.

Los ejemplos de código siguientes muestran cómo suprimir un documento utilizando la línea de mandatos.

# make sure $JSON contains the correct `_rev` value!
curl -H "Authorization: Bearer $API_BEARER_TOKEN" -X DELETE "$SERVICE_URL/events/0007241142412418284?rev=2-9a0d1cd9f40472509e9aac6461837367"
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.DeleteDocumentOptions;
import com.ibm.cloud.cloudant.v1.model.DocumentResult;
Cloudant service = Cloudant.newInstance();
DeleteDocumentOptions documentOptions =
    new DeleteDocumentOptions.Builder()
        .db("events")
        .docId("0007241142412418284")
        .rev("2-9a0d1cd9f40472509e9aac6461837367")
        .build();
DocumentResult response =
    service.deleteDocument(documentOptions).execute()
        .getResult();
System.out.println(response);
const { CloudantV1 } = require('@ibm-cloud/cloudant');
const service = CloudantV1.newInstance({});
service.deleteDocument({
 db: 'events',
 docId: '0007241142412418284',
 rev: '2-9a0d1cd9f40472509e9aac6461837367'
}).then(response => {
 console.log(response.result);
});
from ibmcloudant.cloudant_v1 import CloudantV1
service = CloudantV1.new_instance()
response = service.delete_document(
 db='events',
 doc_id='0007241142412418284',
 rev='2-9a0d1cd9f40472509e9aac6461837367'
).get_result()
print(response)
deleteDocumentOptions := service.NewDeleteDocumentOptions(
 "events",
 "0007241142412418284",
)
deleteDocumentOptions.SetRev("2-9a0d1cd9f40472509e9aac6461837367")
documentResult, response, err := service.DeleteDocument(deleteDocumentOptions)
if err != nil {
 panic(err)
}
b, _ := json.MarshalIndent(documentResult, "", "  ")
fmt.Println(string(b))

El ejemplo Go anterior requiere el siguiente bloque de importación:

import (
   "encoding/json"
   "fmt"
   "github.com/IBM/cloudant-go-sdk/cloudantv1"
)

Todos los ejemplos de Go requieren que se inicialice el objeto service. Para obtener más información, consulte los ejemplos de la Sección de autenticación de la documentación de la API.

Consulte una respuesta de ejemplo después de una solicitud de supresión satisfactoria.

{
  "id": "exampleid",
  "ok": true,
  "rev": "2-056f5f44046ecafc08a2bc2b9c229e20"
}