Obtención de documentos
Para ver una lista de todos los documentos de una base de datos, envíe una solicitud GET
a https://$ACCOUNT.cloudant.com/$DATABASE/_all_docs
.
El punto final _all_docs
acepta la siguiente serie de consulta y argumentos del cuerpo de JSON:
Argumento | Descripción | Opcional | Tipo | Valor predeterminado |
---|---|---|---|---|
conflicts |
Solo se puede establecer si include_docs es true . Añade información sobre conflictos a cada documento. |
Sí | Boolean | No |
deleted_conflicts |
Devuelve información sobre las revisiones en conflicto suprimidas. | Sí | Boolean | No |
descending |
Devolver los documentos en orden de clave descendente. | Sí | Boolean | No |
endkey |
Dejar de devolver registros cuando se llega a la clave especificada. | Sí | Serie | |
endkey_docid |
Dejar de devolver registros cuando se llega al ID de documento especificado. Si endkey no está establecido, este argumento se pasa por alto. |
Sí | Serie | |
include_docs |
Incluir el contenido completo de los documentos en el retorno. | Sí | Boolean | No |
inclusive_end |
Incluir las filas cuya clave sea igual al valor "endkey ". |
Sí | Boolean | Sí |
key |
Devolver solo documentos con ID que coincidan con la clave especificada. | Sí | Serie | |
keys |
Devolver solo documentos con ID que coincidan con una de las claves especificadas. | Sí | Lista de series | |
limit |
Limitar el número de documentos devueltos al número especificado. | Sí | Numérico | |
meta |
Combinación abreviada de los tres argumentos siguientes: conflicts , deleted_conflicts y revs_info . Utilizar meta=true equivale a utilizar conflicts=true&deleted_conflicts=true&revs_info=true . |
Sí | Boolean | No |
r |
Especifique el valor read quorum. | Sí | Numérico | 2 |
revs_info |
Incluye información detallada para todas las revisiones conocidas del documento. | Sí | Boolean | No |
skip |
Omitir este número de registros antes de devolver los resultados. | Sí | Numérico | 0 |
startkey |
Devolver registros, empezando por la clave especificada. | Sí | Serie | |
startkey_docid |
Devolver registros, empezando por el ID de documento especificado. Si startkey no está establecido, este argumento se pasa por alto. |
Sí | Serie |
Notas
-
El uso de
include_docs=true
puede afectar al rendimiento. -
Si utiliza el argumento
keys
, es posible que sea más fácil enviar una solicitudPOST
en lugar de una solicitudGET
si necesita varias series para obtener una lista de las claves que desea. -
Si utiliza el argumento
keys
y se suprime la revisión, el atributovalue
que se devuelve es un objeto JSON con el valor_rev
actual del documento y un atributo_deleted
. El atributodoc
solo contiene un valor si ha especificadoinclude_docs=true
en la solicitud y esnull
si se suprime el documento.
Consulte el ejemplo siguiente que utiliza HTTP para mostrar una lista de todos los documentos de una base de datos:
GET /_all_docs HTTP/1.1
Consulte el ejemplo siguiente para listar todos los documentos de una base de datos:
curl -H "Authorization: Bearer $API_BEARER_TOKEN" -X POST "$SERVICE_URL/orders/_all_docs" -H "Content-Type: application/json" --data '{ "include_docs": true, "startkey": "abc", "limit": 10}'
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.AllDocsResult;
import com.ibm.cloud.cloudant.v1.model.PostAllDocsOptions;
Cloudant service = Cloudant.newInstance();
PostAllDocsOptions docsOptions =
new PostAllDocsOptions.Builder()
.db("orders")
.includeDocs(true)
.startKey("abc")
.limit(10)
.build();
AllDocsResult response =
service.postAllDocs(docsOptions).execute().getResult();
System.out.println(response);
const { CloudantV1 } = require('@ibm-cloud/cloudant');
const service = CloudantV1.newInstance({});
service.postAllDocs({
db: 'orders',
includeDocs: true,
startKey: 'abc',
limit: 10
}).then(response => {
console.log(response.result);
});
from ibmcloudant.cloudant_v1 import CloudantV1
service = CloudantV1.new_instance()
response = service.post_all_docs(
db='orders',
include_docs=True,
start_key='abc',
limit=10
).get_result()
print(response)
postAllDocsOptions := service.NewPostAllDocsOptions(
"orders",
)
postAllDocsOptions.SetIncludeDocs(true)
postAllDocsOptions.SetStartKey("abc")
postAllDocsOptions.SetLimit(10)
allDocsResult, response, err := service.PostAllDocs(postAllDocsOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(allDocsResult, "", " ")
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 el ejemplo siguiente que utiliza HTTP para mostrar una lista de todos los documentos de una base de datos que coinciden al menos con una de las claves especificadas:
GET /_all_docs?keys=["somekey","someotherkey"] HTTP/1.1
Consulte el ejemplo siguiente para listar todos los documentos de una base de datos que coincidan al menos con una de las claves especificadas:
curl -H "Authorization: Bearer $API_BEARER_TOKEN" -X POST "$SERVICE_URL/orders/_all_docs" -H "Content-Type: application/json" --data '{
"include_docs": true,
"keys": ["somekey", "someotherkey"],
"limit": 10
}'
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.AllDocsResult;
import com.ibm.cloud.cloudant.v1.model.PostAllDocsOptions;
import java.util.Arrays;
Cloudant service = Cloudant.newInstance();
PostAllDocsOptions docsOptions =
new PostAllDocsOptions.Builder()
.db("orders")
.includeDocs(true)
.keys(Arrays.asList("somekey", "someotherkey"))
.limit(10)
.build();
AllDocsResult response =
service.postAllDocs(docsOptions).execute().getResult();
System.out.println(response);
const { CloudantV1 } = require('@ibm-cloud/cloudant');
const service = CloudantV1.newInstance({});
service.postAllDocs({
db: 'orders',
includeDocs: true,
keys: ['somekey', 'someotherkey'],
limit: 10
}).then(response => {
console.log(response.result);
});
from ibmcloudant.cloudant_v1 import CloudantV1
service = CloudantV1.new_instance()
response = service.post_all_docs(
db='orders',
include_docs=True,
keys=['somekey', 'someotherkey'],
limit=10
).get_result()
print(response)
postAllDocsOptions := service.NewPostAllDocsOptions(
"orders",
)
postAllDocsOptions.SetIncludeDocs(true)
postAllDocsOptions.SetKeys([]string{"somekey", "someotherkey"})
postAllDocsOptions.SetLimit(10)
allDocsResult, response, err := service.PostAllDocs(postAllDocsOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(allDocsResult, "", " ")
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 es un objeto JSON que contiene todos los documentos de la base de datos que coinciden con los parámetros. En la tabla siguiente se describe el significado de cada campo:
Campo | Descripción | Tipo |
---|---|---|
offset |
Desplazamiento donde se ha iniciado la lista de documentos. | Numérico, Null (el tipo puede ser null cuando se especifica el valor keys .) |
rows |
Matriz de objetos de documento. | Matriz |
total_rows |
Número de documentos de la base de datos o la vista que coinciden con los parámetros de la consulta. | Numérico |
pdate_seq |
Secuencia de actualización actual para la base de datos. | Serie |
Consulte la siguiente respuesta de ejemplo después de una solicitud de todos los documentos de una base de datos:
{
"total_rows": 3,
"offset": 0,
"rows": [
{
"id": "5a049246-179f-42ad-87ac-8f080426c17c",
"key": "5a049246-179f-42ad-87ac-8f080426c17c",
"value": {
"rev": "2-9d5401898196997853b5ac4163857a29"
}
},
{
"id": "96f898f0-f6ff-4a9b-aac4-503992f31b01",
"key": "96f898f0-f6ff-4a9b-aac4-503992f31b01",
"value": {
"rev": "2-ff7b85665c4c297838963c80ecf481a3"
}
},
{
"id": "d1f61e66-7708-4da6-aa05-7cbc33b44b7e",
"key": "d1f61e66-7708-4da6-aa05-7cbc33b44b7e",
"value": {
"rev": "2-cbdef49ef3ddc127eff86350844a6108"
}
}
]
}