文書の作成

ここに示されている手順は、ドキュメントを作成する方法を説明したものです。

  1. 文書を作成するために、文書の JSON コンテンツを含む POST 要求を送信します。

  2. コマンド https://$ACCOUNT.cloudant.com/$DATABASE を実行します。

HTTP を使用した文書の作成

以下の手順は、HTTP を使用して文書を作成する方法を示しています。

  1. 文書を作成するために、HTTP を使用して、文書の JSON コンテンツを含む PUT 要求を送信します。

  2. 以下のコマンドを実行します。

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

文書の作成方法の例

パーティション化されていないデータベースで、このJSONに対応する IBM Cloudant ドキュメントを作成する例を以下に示します:

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

コード例から使用したいプログラミング言語を選択することで、その言語に合わせたドキュメントの作成方法をカスタマイズできます。

次は、文書の作成の例です。

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))

前の Go の例では、以下のインポート・ブロックが必要です。

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

すべての Go の例では、serviceオブジェクトを初期化する必要があります。 詳しくは、API 資料の認証セクションで例を参照してください。

応答は、作成された文書の ID、リビジョン・ストリング、および "ok": true が 含まれた JSON 文書です。

_id フィールドを指定しなかった場合は、 IBM Cloudant として自動的に生成されます。 ユーユーアイディー.

文書の作成に失敗すると、エラーの説明を含む応答が生成されます。

文書が正常に作成された後の応答の例を以下に示します。

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

ドキュメントの作成中に書き込み クォーラム を満たせない場合、 202 というレスポンスが返されます。