Creación de un documento

Los pasos que se muestran aquí explican cómo crear un documento.

  1. Envíe una solicitud POST con el contenido JSON del documento para crear un documento.

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

Creación de un documento mediante HTTP

Los pasos siguientes muestran cómo crear un documento utilizando HTTP.

  1. Envíe una solicitud PUT con el contenido JSON del documento utilizando HTTP para crear un documento.

  2. Ejecute el mandato siguiente:

PUT /$DATABASE/$DOC_ID HTTP/1.1
Content-Type: application/json

Ejemplos de cómo crear un documento

A continuación se muestra un ejemplo de cómo crear un documento « IBM Cloudant » para este JSON en una base de datos no particionada:

{
   "type": "event",
   "userid": "abc123",
   "eventType": "addedToBasket",
   "productId": "1000042",
   "date": "2019-01-28T10:44:22.000Z"
}

Puedes personalizar la creación de un documento para el lenguaje de programación que desees utilizar seleccionando dicho lenguaje en los ejemplos de código.

Consulte un ejemplo de creación de un documento:

curl -H "Authorization: Bearer $API_BEARER_TOKEN" -X PUT "$SERVICE_URL/events/0007241142412418284" -H "Content-Type: application/json" --data '{ "type": "event", "userid": "abc123", "eventType": "addedToBasket", "productId": "1000042", "date": "2019-01-28T10:44:22.000Z }'
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.Document;
import com.ibm.cloud.cloudant.v1.model.DocumentResult;
import com.ibm.cloud.cloudant.v1.model.PutDocumentOptions;
Cloudant service = Cloudant.newInstance();
Document eventDoc = new Document();
eventDoc.put("type", "event");
eventDoc.put("userid", "abc123");
eventDoc.put("eventType", "addedToBasket");
eventDoc.put("productId", "1000042");
eventDoc.put("date", "2019-01-28T10:44:22.000Z");
PutDocumentOptions documentOptions =
    new PutDocumentOptions.Builder()
        .db("events")
        .docId("0007241142412418284")
        .document(eventDoc)
        .build();
DocumentResult response =
    service.putDocument(documentOptions).execute()
        .getResult();
System.out.println(response);
const { CloudantV1 } = require('@ibm-cloud/cloudant');
const service = CloudantV1.newInstance({});
const eventDoc = {
  type: 'event',
  userid: 'abc123',
  eventType: 'addedToBasket',
  productId: '1000042',
  date: '2019-01-28T10:44:22.000Z'
};
service.putDocument({
  db: 'events',
  docId: '0007241142412418284',
  document: eventDoc
}).then(response => {
  console.log(response.result);
});
from ibmcloudant.cloudant_v1 import Document, CloudantV1
service = CloudantV1.new_instance()
event_doc = Document(
  type='event',
  userid='abc123',
  eventType='addedToBasket',
  productId='1000042',
  date='2019-01-28T10:44:22.000Z'
)
response = service.put_document(
  db='events',
  doc_id='0007241142412418284',
  document=event_doc
).get_result()
print(response)
eventDoc := cloudantv1.Document{}
eventDoc.SetProperty("type", "event")
eventDoc.SetProperty("userid", "abc123")
eventDoc.SetProperty("eventType", "addedToBasket")
eventDoc.SetProperty("productId", "1000042")
eventDoc.SetProperty("date", "2019-01-28T10:44:22.000Z")
putDocumentOptions := service.NewPutDocumentOptions(
  "events",
  "0007241142412418284",
)
putDocumentOptions.SetDocument(&eventDoc)
documentResult, response, err := service.PutDocument(putDocumentOptions)
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.

La respuesta es un documento JSON que contiene el ID del documento creado, la serie de revisión y "ok": true.

Si no ha proporcionado un campo _id, IBM Cloudant genera automáticamente un UUID.

Si no se puede crear el documento, se genera una respuesta que contiene una descripción del error.

Consulte una respuesta de ejemplo después de crear correctamente un documento:

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

Si no se alcanza el quórum de escritura al intentar crear un documento, se devuelve una respuesta de « 202 ».