IBM Cloud Docs
Lectura de un documento

Lectura de un documento

Los pasos que se muestran aquí demuestran cómo leer un documento:

  1. Envíe una solicitud GET para recuperar un documento.

  2. Ejecute el mandato siguiente: https://$ACCOUNT.cloudant.com/$DATABASE/$DOCUMENT_ID.

Recuerde que para una base de datos particionada el valor $DOCUMENT_ID está formado por una parte de clave de partición y una parte de clave de documento.

Si no conoce el _id de un documento concreto, puede consultar la base de datos para todos los documentos.

Debido a la naturaleza distribuida y finalmente coherente de IBM Cloudant, las lecturas pueden devolver datos obsoletos. En particular, es posible que los datos escritos recientemente, incluso por el mismo cliente, no se devuelvan de una solicitud de lectura inmediatamente después de la solicitud de escritura. Para solucionar este comportamiento, un cliente puede almacenar en memoria caché el estado de los datos localmente. El almacenamiento en memoria caché también ayuda a mantener bajo el recuento de solicitudes, a aumentar el rendimiento de las aplicaciones y a reducir la carga en el clúster de la base de datos. Este comportamiento también se aplica a otras solicitudes de lectura como, por ejemplo, MapReduce e índices de búsqueda.

Consulte un ejemplo de recuperación de un documento mediante HTTP:

GET /$DATABASE/$DOCUMENT_ID HTTP/1.1

Puede personalizar esta sección para el lenguaje de programación que desea utilizar seleccionando el lenguaje en los ejemplos de código.

Consulte un ejemplo de recuperación de un documento:

curl -H "Authorization: Bearer $API_BEARER_TOKEN" -X GET "$SERVICE_URL/products/small-appliances:1000042"
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.Document;
import com.ibm.cloud.cloudant.v1.model.GetDocumentOptions;

Cloudant service = Cloudant.newInstance();

GetDocumentOptions documentOptions =
    new GetDocumentOptions.Builder()
        .db("products")
        .docId("small-appliances:1000042")
        .build();

Document response =
    service.getDocument(documentOptions).execute()
        .getResult();

System.out.println(response);
const { CloudantV1 } = require('@ibm-cloud/cloudant');

const service = CloudantV1.newInstance({});

service.getDocument({
  db: 'products',
  docId: 'small-appliances:1000042'
}).then(response => {
  console.log(response.result);
});
from ibmcloudant.cloudant_v1 import CloudantV1

service = CloudantV1.new_instance()

response = service.get_document(
  db='products',
  doc_id='small-appliances:1000042'
).get_result()

print(response)
getDocumentOptions := service.NewGetDocumentOptions(
  "products",
  "small-appliances:1000042",
)

document, response, err := service.GetDocument(getDocumentOptions)
if err != nil {
  panic(err)
}

b, _ := json.MarshalIndent(document, "", "  ")
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.

La respuesta contiene el documento que ha solicitado o una descripción del error si el documento no se puede recuperar.

Consulte una respuesta de ejemplo de recuperación de un documento:

{
  "_id": "exampleid",
  "brand": "Foo",
  "colours": [
    "red",
    "green",
    "black",
    "blue"
  ],
  "description": "Slim Colourful Design Electronic Cooking Appliance for ...",
  "image": "assets/img/0gmsnghhew.jpg",
  "keywords": [
    "Foo",
    "Scales",
    "Weight",
    "Digital",
    "Kitchen"
  ],
  "name": "Digital Kitchen Scales",
  "price": 14.99,
  "productid": "1000042",
  "taxonomy": [
    "Home",
    "Kitchen",
    "Small Appliances"
  ],
  "type": "product"
}

Parámetros de consulta

Puede añadir algunos parámetros de consulta al URL, por ejemplo /mydatabase/doc?attachments=true&conflicts=true.

Todos los parámetros son opcionales.

Parámetros de consulta
Nombre Tipo Descripción Valor predeterminado
attachments Boolean Incluye los cuerpos de los archivos adjuntos en la respuesta. No
att_encoding_info Boolean Incluye información de codificación en los apéndices de los archivos adjuntos si el archivo adjunto está comprimido. No
atts_since Matriz de series de revisión Incluye archivos adjuntos solo desde las revisiones especificadas. No incluye archivos adjuntos para revisiones especificadas. []
conflicts Boolean Incluye información sobre los conflictos en los documentos. No
deleted_conflicts Boolean Incluye información sobre las revisiones en conflicto suprimidas. No
latest Boolean Fuerza la recuperación de la revisión "hoja" más reciente, sin importar la revisión que se haya solicitado. No
local_seq Boolean Incluye el número de secuencia de la última actualización del documento. No
meta Boolean Es lo mismo que especificar los parámetros de consulta conflicts, deleted_conflicts y open_revs. No
open_revs Matriz o all Recupera documentos de las revisiones hoja especificadas. Además, acepta el valor all para devolver todas las revisiones hoja. []
rev Serie Recupera el documento de la revisión especificada.
revs Boolean Incluye una lista de todas las revisiones conocidas del documento. No
revs_info Boolean Incluye información detallada para todas las revisiones conocidas del documento. No

Leer muchos

Para obtener más de un documento a la vez, consulte la base de datos utilizando la opción include_docs.