Criando um documento
As etapas apresentadas aqui mostram como criar um documento.
-
Envie uma solicitação
POSTcom o conteúdo JSON do documento para criar um documento. -
Execute o comando a seguir
https://$ACCOUNT.cloudant.com/$DATABASE.
Criando um documento usando HTTP
As etapas a seguir mostram como criar um documento usando HTTP.
-
Envie uma solicitação
PUTcom o conteúdo JSON do documento usando HTTP para criar um documento. -
Execute o comando a seguir:
PUT /$DATABASE/$DOC_ID HTTP/1.1
Content-Type: application/json
Exemplos de como criar um documento
Veja um exemplo de como criar um documento do tipo “ IBM Cloudant ” para este JSON em um banco de dados não particionado:
{
"type": "event",
"userid": "abc123",
"eventType": "addedToBasket",
"productId": "1000042",
"date": "2019-01-28T10:44:22.000Z"
}
Você pode personalizar a criação de um documento para a linguagem de programação que deseja usar, selecionando a linguagem nos exemplos de código.
Veja um exemplo de criação de um 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))
O exemplo do Go anterior requer o bloco de importação a seguir:
import (
"encoding/json"
"fmt"
"github.com/IBM/cloudant-go-sdk/cloudantv1"
)
Todos os exemplos do Go requerem que o objeto service seja inicializado. Para obter mais informações, consulte a seção Autenticação da documentação da API para exemplos.
A resposta é um documento JSON que contém o ID do documento criado, a sequência de revisão e "ok": true.
Se você não forneceu um campo _id, IBM Cloudant gera um automaticamente como um
UUID.
Uma falha na criação do documento resulta em uma resposta que contém uma descrição do erro.
Veja uma resposta de exemplo depois de criar um documento com sucesso:
{
"id": "exampleid",
"ok": true,
"rev": "2-056f5f44046ecafc08a2bc2b9c229e20"
}
Se o quorum de gravação não puder ser atingido durante uma tentativa de criação de um documento, será retornada uma resposta “ 202 ”.